General.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Block\System\Design\Edit\Tab;
  7. class General extends \Magento\Backend\Block\Widget\Form\Generic
  8. {
  9. /**
  10. * @var \Magento\Framework\View\Design\Theme\LabelFactory
  11. */
  12. protected $_labelFactory;
  13. /**
  14. * @var \Magento\Store\Model\System\Store
  15. */
  16. protected $_systemStore;
  17. /**
  18. * @param \Magento\Backend\Block\Template\Context $context
  19. * @param \Magento\Framework\Registry $registry
  20. * @param \Magento\Framework\Data\FormFactory $formFactory
  21. * @param \Magento\Framework\View\Design\Theme\LabelFactory $labelFactory
  22. * @param \Magento\Store\Model\System\Store $systemStore
  23. * @param array $data
  24. */
  25. public function __construct(
  26. \Magento\Backend\Block\Template\Context $context,
  27. \Magento\Framework\Registry $registry,
  28. \Magento\Framework\Data\FormFactory $formFactory,
  29. \Magento\Framework\View\Design\Theme\LabelFactory $labelFactory,
  30. \Magento\Store\Model\System\Store $systemStore,
  31. array $data = []
  32. ) {
  33. $this->_labelFactory = $labelFactory;
  34. $this->_systemStore = $systemStore;
  35. parent::__construct($context, $registry, $formFactory, $data);
  36. }
  37. /**
  38. * Initialise form fields
  39. *
  40. * @return void
  41. */
  42. protected function _prepareForm()
  43. {
  44. /** @var \Magento\Framework\Data\Form $form */
  45. $form = $this->_formFactory->create();
  46. $fieldset = $form->addFieldset('general', ['legend' => __('General Settings')]);
  47. if (!$this->_storeManager->isSingleStoreMode()) {
  48. $field = $fieldset->addField(
  49. 'store_id',
  50. 'select',
  51. [
  52. 'label' => __('Store'),
  53. 'title' => __('Store'),
  54. 'values' => $this->_systemStore->getStoreValuesForForm(),
  55. 'name' => 'store_id',
  56. 'required' => true
  57. ]
  58. );
  59. $renderer = $this->getLayout()->createBlock(
  60. \Magento\Backend\Block\Store\Switcher\Form\Renderer\Fieldset\Element::class
  61. );
  62. $field->setRenderer($renderer);
  63. } else {
  64. $fieldset->addField(
  65. 'store_id',
  66. 'hidden',
  67. ['name' => 'store_id', 'value' => $this->_storeManager->getStore(true)->getId()]
  68. );
  69. }
  70. /** @var $label \Magento\Framework\View\Design\Theme\Label */
  71. $label = $this->_labelFactory->create();
  72. $options = $label->getLabelsCollection(__('-- Please Select --'));
  73. $fieldset->addField(
  74. 'design',
  75. 'select',
  76. [
  77. 'label' => __('Custom Design'),
  78. 'title' => __('Custom Design'),
  79. 'values' => $options,
  80. 'name' => 'design',
  81. 'required' => true
  82. ]
  83. );
  84. $dateFormat = $this->_localeDate->getDateFormat(\IntlDateFormatter::SHORT);
  85. $fieldset->addField(
  86. 'date_from',
  87. 'date',
  88. [
  89. 'label' => __('Date From'),
  90. 'title' => __('Date From'),
  91. 'name' => 'date_from',
  92. 'date_format' => $dateFormat
  93. //'required' => true
  94. ]
  95. );
  96. $fieldset->addField(
  97. 'date_to',
  98. 'date',
  99. [
  100. 'label' => __('Date To'),
  101. 'title' => __('Date To'),
  102. 'name' => 'date_to',
  103. 'date_format' => $dateFormat
  104. //'required' => true
  105. ]
  106. );
  107. $formData = $this->_backendSession->getDesignData(true);
  108. if (!$formData) {
  109. $formData = $this->_coreRegistry->registry('design')->getData();
  110. } else {
  111. $formData = $formData['design'];
  112. }
  113. $form->addValues($formData);
  114. $form->setFieldNameSuffix('design');
  115. $this->setForm($form);
  116. }
  117. }