Ejemplo n.º 1
0
 /**
  * {@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);
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }
Ejemplo n.º 3
0
 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);
 }