<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Backend\Block\System\Design\Edit\Tab; class General extends \Magento\Backend\Block\Widget\Form\Generic { /** * @var \Magento\Framework\View\Design\Theme\LabelFactory */ protected $_labelFactory; /** * @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\Framework\View\Design\Theme\LabelFactory $labelFactory * @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\Framework\View\Design\Theme\LabelFactory $labelFactory, \Magento\Store\Model\System\Store $systemStore, array $data = [] ) { $this->_labelFactory = $labelFactory; $this->_systemStore = $systemStore; parent::__construct($context, $registry, $formFactory, $data); } /** * Initialise form fields * * @return void */ protected function _prepareForm() { /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $fieldset = $form->addFieldset('general', ['legend' => __('General Settings')]); if (!$this->_storeManager->isSingleStoreMode()) { $field = $fieldset->addField( 'store_id', 'select', [ 'label' => __('Store'), 'title' => __('Store'), 'values' => $this->_systemStore->getStoreValuesForForm(), 'name' => 'store_id', 'required' => true ] ); $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()] ); } /** @var $label \Magento\Framework\View\Design\Theme\Label */ $label = $this->_labelFactory->create(); $options = $label->getLabelsCollection(__('-- Please Select --')); $fieldset->addField( 'design', 'select', [ 'label' => __('Custom Design'), 'title' => __('Custom Design'), 'values' => $options, 'name' => 'design', 'required' => true ] ); $dateFormat = $this->_localeDate->getDateFormat(\IntlDateFormatter::SHORT); $fieldset->addField( 'date_from', 'date', [ 'label' => __('Date From'), 'title' => __('Date From'), 'name' => 'date_from', 'date_format' => $dateFormat //'required' => true ] ); $fieldset->addField( 'date_to', 'date', [ 'label' => __('Date To'), 'title' => __('Date To'), 'name' => 'date_to', 'date_format' => $dateFormat //'required' => true ] ); $formData = $this->_backendSession->getDesignData(true); if (!$formData) { $formData = $this->_coreRegistry->registry('design')->getData(); } else { $formData = $formData['design']; } $form->addValues($formData); $form->setFieldNameSuffix('design'); $this->setForm($form); } }