/** * {@inheritDoc} */ public function render(ElementInterface $element) { if ($element instanceof LabelAwareInterface) { if ($element->getLabelOption('always_wrap') !== false) { $element->setLabelOption('always_wrap', true); } } return parent::render($element); }
/** * Over writes render method to put layout array into the correct format for * Zend Form * * @param ElementInterface $element Zend Element Interface * * @return string|void * @throws InvalidArgumentException */ public function render(ElementInterface $element) { if (!$element instanceof MainLayout) { throw new InvalidArgumentException(sprintf('%s requires that the element is of type PageLayout', __METHOD__)); } $options = $element->getOptions(); $element->setLabelOption('disable_html_escape', true); $inputOptions = []; foreach ($options['layouts'] as $key => &$layout) { $inputOptions[$key] = "\n" . '<span class="pageLayoutLabel">' . "\n" . ' <img src="' . $layout['screenShot'] . '" />' . "\n" . ' <span class="pageLayoutTextDisplay">' . "\n" . ' ' . $layout['display'] . "\n" . ' </span>' . "\n" . ' <span class="pageLayoutImageOverlay"></span>' . "\n" . '</span>' . "\n"; } $name = static::getName($element); $options = $inputOptions; $attributes = $element->getAttributes(); $attributes['name'] = $name; $attributes['type'] = $this->getInputType(); $selectedOptions = (array) $element->getValue(); $rendered = $this->renderOptions($element, $options, $selectedOptions, $attributes); return $rendered; }
protected function prepareLabel(ElementInterface $element) { $escapeHtmlHelper = $this->getEscapeHtmlHelper(); $valuesOptions = $element->getValueOptions(); //append span with c-indicator for each option foreach ($valuesOptions as $key => $optionSpec) { if (is_scalar($optionSpec)) { $optionSpec = ['label' => $optionSpec, 'value' => $key]; } if (!$element instanceof LabelAwareInterface || !$element->getLabelOption('disable_html_escape')) { $optionSpec['label'] = $escapeHtmlHelper($optionSpec['label']); } $optionSpec['label'] = '<span class="c-indicator"></span>' . $optionSpec['label']; $valuesOptions[$key] = $optionSpec; } //disable escape because it was already used above $element->setLabelOption('disable_html_escape', true); $element->setValueOptions($valuesOptions); }