Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Form.php
Go to the documentation of this file.
1 <?php
7 
13 class Form extends \Magento\Backend\Block\Widget\Form\Generic
14 {
20  protected $_reviewData = null;
21 
27  protected $_systemStore;
28 
37  public function __construct(
38  \Magento\Backend\Block\Template\Context $context,
39  \Magento\Framework\Registry $registry,
40  \Magento\Framework\Data\FormFactory $formFactory,
41  \Magento\Store\Model\System\Store $systemStore,
42  \Magento\Review\Helper\Data $reviewData,
43  array $data = []
44  ) {
45  $this->_reviewData = $reviewData;
46  $this->_systemStore = $systemStore;
47  parent::__construct($context, $registry, $formFactory, $data);
48  }
49 
56  protected function _prepareForm()
57  {
59  $form = $this->_formFactory->create();
60 
61  $fieldset = $form->addFieldset('add_review_form', ['legend' => __('Review Details')]);
62 
63  $fieldset->addField('product_name', 'note', ['label' => __('Product'), 'text' => 'product_name']);
64 
65  $fieldset->addField(
66  'detailed-rating',
67  'note',
68  [
69  'label' => __('Product Rating'),
70  'required' => true,
71  'text' => '<div id="rating_detail">' . $this->getLayout()->createBlock(
72  \Magento\Review\Block\Adminhtml\Rating\Detailed::class
73  )->toHtml() . '</div>'
74  ]
75  );
76 
77  $fieldset->addField(
78  'status_id',
79  'select',
80  [
81  'label' => __('Status'),
82  'required' => true,
83  'name' => 'status_id',
84  'values' => $this->_reviewData->getReviewStatusesOptionArray()
85  ]
86  );
87 
91  if (!$this->_storeManager->isSingleStoreMode()) {
92  $field = $fieldset->addField(
93  'select_stores',
94  'multiselect',
95  [
96  'label' => __('Visibility'),
97  'required' => true,
98  'name' => 'select_stores[]',
99  'values' => $this->_systemStore->getStoreValuesForForm()
100  ]
101  );
102  $renderer = $this->getLayout()->createBlock(
103  \Magento\Backend\Block\Store\Switcher\Form\Renderer\Fieldset\Element::class
104  );
105  $field->setRenderer($renderer);
106  }
107 
108  $fieldset->addField(
109  'nickname',
110  'text',
111  [
112  'name' => 'nickname',
113  'title' => __('Nickname'),
114  'label' => __('Nickname'),
115  'maxlength' => '50',
116  'required' => true
117  ]
118  );
119 
120  $fieldset->addField(
121  'title',
122  'text',
123  [
124  'name' => 'title',
125  'title' => __('Summary of Review'),
126  'label' => __('Summary of Review'),
127  'maxlength' => '255',
128  'required' => true
129  ]
130  );
131 
132  $fieldset->addField(
133  'detail',
134  'textarea',
135  [
136  'name' => 'detail',
137  'title' => __('Review'),
138  'label' => __('Review'),
139  'required' => true
140  ]
141  );
142 
143  $fieldset->addField('product_id', 'hidden', ['name' => 'product_id']);
144 
145  $form->setMethod('post');
146  $form->setUseContainer(true);
147  $form->setId('edit_form');
148  $form->setAction($this->getUrl('review/product/post'));
149 
150  $this->setForm($form);
151  }
152 }
setForm(\Magento\Framework\Data\Form $form)
Definition: Form.php:112
__()
Definition: __.php:13
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, \Magento\Store\Model\System\Store $systemStore, \Magento\Review\Helper\Data $reviewData, array $data=[])
Definition: Form.php:37