123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Sitemap\Block\Adminhtml\Edit;
- /**
- * Sitemap edit form
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Form extends \Magento\Backend\Block\Widget\Form\Generic
- {
- /**
- * @var \Magento\Store\Model\System\Store
- */
- protected $_systemStore;
- /**
- * @param \Magento\Backend\Block\Template\Context $context
- * @param \Magento\Framework\Registry $registry
- * @param \Magento\Framework\Data\FormFactory $formFactory
- * @param \Magento\Store\Model\System\Store $systemStore
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Template\Context $context,
- \Magento\Framework\Registry $registry,
- \Magento\Framework\Data\FormFactory $formFactory,
- \Magento\Store\Model\System\Store $systemStore,
- array $data = []
- ) {
- $this->_systemStore = $systemStore;
- parent::__construct($context, $registry, $formFactory, $data);
- }
- /**
- * Init form
- *
- * @return void
- */
- protected function _construct()
- {
- parent::_construct();
- $this->setId('sitemap_form');
- $this->setTitle(__('Sitemap Information'));
- }
- /**
- * @return $this
- */
- protected function _prepareForm()
- {
- $model = $this->_coreRegistry->registry('sitemap_sitemap');
- /** @var \Magento\Framework\Data\Form $form */
- $form = $this->_formFactory->create(
- ['data' => ['id' => 'edit_form', 'action' => $this->getData('action'), 'method' => 'post']]
- );
- $fieldset = $form->addFieldset('add_sitemap_form', ['legend' => __('Sitemap')]);
- if ($model->getId()) {
- $fieldset->addField('sitemap_id', 'hidden', ['name' => 'sitemap_id']);
- }
- $fieldset->addField(
- 'sitemap_filename',
- 'text',
- [
- 'label' => __('Filename'),
- 'name' => 'sitemap_filename',
- 'required' => true,
- 'note' => __('example: sitemap.xml'),
- 'value' => $model->getSitemapFilename()
- ]
- );
- $fieldset->addField(
- 'sitemap_path',
- 'text',
- [
- 'label' => __('Path'),
- 'name' => 'sitemap_path',
- 'required' => true,
- 'note' => __('example: "/sitemap/" or "/" for base path (path must be writeable)'),
- 'value' => $model->getSitemapPath()
- ]
- );
- if (!$this->_storeManager->hasSingleStore()) {
- $field = $fieldset->addField(
- 'store_id',
- 'select',
- [
- 'label' => __('Store View'),
- 'title' => __('Store View'),
- 'name' => 'store_id',
- 'required' => true,
- 'value' => $model->getStoreId(),
- 'values' => $this->_systemStore->getStoreValuesForForm()
- ]
- );
- $renderer = $this->getLayout()->createBlock(
- \Magento\Backend\Block\Store\Switcher\Form\Renderer\Fieldset\Element::class
- );
- $field->setRenderer($renderer);
- } else {
- $fieldset->addField(
- 'store_id',
- 'hidden',
- ['name' => 'store_id', 'value' => $this->_storeManager->getStore(true)->getId()]
- );
- $model->setStoreId($this->_storeManager->getStore(true)->getId());
- }
- $form->setValues($model->getData());
- $form->setUseContainer(true);
- $this->setForm($form);
- return parent::_prepareForm();
- }
- }
|