Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Watermark.php
Go to the documentation of this file.
1 <?php
13 
15 
17  \Magento\Framework\Data\Form\Element\Renderer\RendererInterface
18 {
22  protected $_elementFactory;
23 
27  protected $_formField;
28 
33 
37  protected $_imageTypes;
38 
47  public function __construct(
48  \Magento\Backend\Block\Context $context,
49  \Magento\Catalog\Model\Config\Source\Watermark\Position $watermarkPosition,
50  \Magento\Config\Block\System\Config\Form\Field $formField,
51  \Magento\Framework\Data\Form\Element\Factory $elementFactory,
52  array $imageTypes = [],
53  array $data = []
54  ) {
55  $this->_watermarkPosition = $watermarkPosition;
56  $this->_formField = $formField;
57  $this->_elementFactory = $elementFactory;
58  $this->_imageTypes = $imageTypes;
59  parent::__construct($context, $data);
60  }
61 
66  public function render(AbstractElement $element)
67  {
68  $html = $this->_getHeaderHtml($element);
69  foreach ($this->_imageTypes as $key => $attribute) {
74  $field = $this->_elementFactory->create('text');
75  $field->setName(
76  "groups[watermark][fields][{$key}_size][value]"
77  )->setForm(
78  $this->getForm()
79  )->setLabel(
80  __('Size for %1', __($attribute['title']))
81  )->setRenderer(
82  $this->_formField
83  );
84  $html .= $field->toHtml();
85 
90  $field = $this->_elementFactory->create('imagefile');
91  $field->setName(
92  "groups[watermark][fields][{$key}_image][value]"
93  )->setForm(
94  $this->getForm()
95  )->setLabel(
96  __('Watermark File for %1', __($attribute['title']))
97  )->setRenderer(
98  $this->_formField
99  );
100  $html .= $field->toHtml();
101 
106  $field = $this->_elementFactory->create('select');
107  $field->setName(
108  "groups[watermark][fields][{$key}_position][value]"
109  )->setForm(
110  $this->getForm()
111  )->setLabel(
112  __('Position of Watermark for %1', __($attribute['title']))
113  )->setRenderer(
114  $this->_formField
115  )->setValues(
116  $this->_watermarkPosition->toOptionArray()
117  );
118  $html .= $field->toHtml();
119  }
120 
121  $html .= $this->_getFooterHtml($element);
122 
123  return $html;
124  }
125 
131  protected function _getHeaderHtml($element)
132  {
133  $id = $element->getHtmlId();
134  $default = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
135 
136  $html = '<h4 class="icon-head head-edit-form">' . $element->getLegend() . '</h4>';
137  $html .= '<fieldset class="config" id="' . $element->getHtmlId() . '">';
138  $html .= '<legend>' . $element->getLegend() . '</legend>';
139 
140  // field label column
141  $html .= '<table><colgroup class="label" /><colgroup class="value" />';
142  if (!$default) {
143  $html .= '<colgroup class="use-default" />';
144  }
145  $html .= '<tbody>';
146 
147  return $html;
148  }
149 
155  protected function _getFooterHtml($element)
156  {
157  $html = '</tbody></table></fieldset>';
158  return $html;
159  }
160 }
$id
Definition: fieldset.phtml:14
__()
Definition: __.php:13
render(\Magento\Framework\Data\Form\Element\AbstractElement $element)
__construct(\Magento\Backend\Block\Context $context, \Magento\Catalog\Model\Config\Source\Watermark\Position $watermarkPosition, \Magento\Config\Block\System\Config\Form\Field $formField, \Magento\Framework\Data\Form\Element\Factory $elementFactory, array $imageTypes=[], array $data=[])
Definition: Watermark.php:47
$element
Definition: element.phtml:12