Form.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Admin form widget
  8. *
  9. * @author Magento Core Team <core@magentocommerce.com>
  10. */
  11. namespace Magento\Newsletter\Block\Adminhtml\Template\Preview;
  12. /**
  13. * @api
  14. * @since 100.0.2
  15. */
  16. class Form extends \Magento\Backend\Block\Widget\Form\Generic
  17. {
  18. /**
  19. * Preparing from for revision page
  20. *
  21. * @return \Magento\Backend\Block\Widget\Form
  22. * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  23. */
  24. protected function _prepareForm()
  25. {
  26. /** @var \Magento\Framework\Data\Form $form */
  27. $form = $this->_formFactory->create(
  28. [
  29. 'data' => [
  30. 'id' => 'preview_form',
  31. 'action' => $this->getUrl('*/*/drop', ['_current' => true]),
  32. 'method' => 'post',
  33. ],
  34. ]
  35. );
  36. if ($data = $this->getFormData()) {
  37. $mapper = ['preview_store_id' => 'store_id'];
  38. if (empty($data['id']) && !empty($data['text'])) {
  39. $this->_backendSession->setPreviewData($data);
  40. }
  41. foreach ($data as $key => $value) {
  42. if (array_key_exists($key, $mapper)) {
  43. $name = $mapper[$key];
  44. } else {
  45. $name = $key;
  46. }
  47. $form->addField($key, 'hidden', ['name' => $name]);
  48. }
  49. $form->setValues($data);
  50. }
  51. $form->setUseContainer(true);
  52. $this->setForm($form);
  53. return parent::_prepareForm();
  54. }
  55. }