Fieldset.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace Dotdigitalgroup\Email\Block\Adminhtml\Config;
  3. class Fieldset extends \Magento\Config\Block\System\Config\Form\Fieldset
  4. {
  5. /**
  6. * @param \Magento\Framework\Data\Form\Element\AbstractElement $element
  7. *
  8. * @return string
  9. */
  10. public function render(\Magento\Framework\Data\Form\Element\AbstractElement $element)
  11. {
  12. $block = $this->getLayout()->createBlock(
  13. \Dotdigitalgroup\Email\Block\Adminhtml\Config\Configuration\Preview::class,
  14. 'ddg_automation_dynamic_preview'
  15. )->setTemplate(
  16. 'system/preview.phtml'
  17. );
  18. $this->setElement($element);
  19. $header = $this->_getHeaderHtml($element);
  20. $elements = '';
  21. foreach ($element->getElements() as $field) {
  22. if ($field instanceof \Magento\Framework\Data\Form\Element\Fieldset) {
  23. $elements .= '<tr id="row_' . $field->getHtmlId() . '">'
  24. . '<td colspan="4">' . $field->toHtml() . '</td></tr>';
  25. } else {
  26. $elements .= $field->toHtml();
  27. }
  28. }
  29. $footer = $this->_getFooterHtml($element);
  30. return $header . $block->_toHtml() . $elements . $footer;
  31. }
  32. }