public function render(ElementInterface $element)
 {
     $eleWrapClass = ['col-sm-10'];
     $label = $element->getLabel();
     $labelHtml = '';
     if (!empty($label)) {
         // label
         $element->setLabelAttributes(['class' => 'col-sm-2 control-label']);
         $labelHelper = $this->getLabelHelper();
         $labelHtml = $labelHelper($element);
     } else {
         $eleWrapClass[] = 'col-md-offset-2';
     }
     // element
     $element->setAttribute('class', 'form-control');
     $elementHelper = $this->getElementHelper();
     $errorHtml = '';
     $errorClass = '';
     if (count($element->getMessages()) > 0) {
         $errorHelper = $this->getElementErrorsHelper();
         $errorHtml = $errorHelper($element);
         $errorClass = 'has-error';
     }
     $elementHtml = sprintf($this->eleWrap, implode(' ', $eleWrapClass), $elementHelper($element), $errorHtml);
     return sprintf($this->wrap, $errorClass, $labelHtml, $elementHtml);
 }
Пример #2
0
 /**
  * Render a form <input> element from the provided $element
  *
  * @param  ElementInterface $element
  * @param String $buttonContent
  * @throws Exception\DomainException
  * @return string
  */
 public function render(ElementInterface $element, $buttonContent = null)
 {
     //$view = $this->getView();
     //$view->headScript()->appendFile($view->basePath('/Core/js/bootstrap-switch.js'));
     if (null === $buttonContent) {
         $buttonContent = $element->getLabel();
         if (null === $buttonContent) {
             throw new Exception\DomainException(sprintf('%s expects either button content as the second argument, ' . 'or that the element provided has a label value; neither found', __METHOD__));
         }
         if (null !== ($translator = $this->getTranslator())) {
             $buttonContent = $translator->translate($buttonContent, $this->getTranslatorTextDomain());
         }
         $element->setLabel('');
     }
     //$escape         = $this->getEscapeHtmlHelper();
     //$translator     = $this->getTranslator();
     //$name           = $element->getName();
     $value = $element->getValue();
     $checkedBoole = $value == 1 || $value == 'on';
     //$checked        = $checkedBoole?'checked="checked"':'';
     $checkedClass = $checkedBoole ? 'active"' : '';
     $buttonContent = '<div class="btn-group" data-toggle="buttons">' . PHP_EOL . '<span class="btn btn-default ' . $checkedClass . '">' . PHP_EOL . parent::render($element) . $buttonContent . PHP_EOL . '</span>' . PHP_EOL . '</div>' . PHP_EOL;
     //$buttonContent = '<div><div class="processing yk-hidden"><span class="fa-spin yk-icon-spinner yk-icon"></span> ' .
     //    $translator->translate('processing', $this->getTranslatorTextDomain()) . '</div><div class="default">' . $escape($buttonContent) . '</div></div>';
     return $buttonContent;
 }
 /**
  * Render a form <input> element from the provided $element
  *
  * @param  ElementInterface $element
  * @throws Exception\InvalidArgumentException
  * @throws Exception\DomainException
  * @return string
  */
 public function render(ElementInterface $element)
 {
     if (!$element instanceof CheckboxElement) {
         throw new Exception\InvalidArgumentException(sprintf('%s requires that the element is of type Zend\\Form\\Element\\Checkbox', __METHOD__));
     }
     $name = $element->getName();
     if (empty($name) && $name !== 0) {
         throw new Exception\DomainException(sprintf('%s requires that the element has an assigned name; none discovered', __METHOD__));
     }
     $attributes = $element->getAttributes();
     $attributes['name'] = $name;
     $attributes['type'] = $this->getInputType();
     $attributes['value'] = $element->getCheckedValue();
     $attributes['class'] = 'sr-only';
     $closingBracket = $this->getInlineClosingBracket();
     if ($element->isChecked()) {
         $attributes['checked'] = 'checked';
     }
     $input = sprintf('<input %s%s', $this->createAttributesString($attributes), $closingBracket);
     $label = $element->getLabel();
     $rendered = '<div class="checkbox"><label class="checkbox-custom" data-initialize="checkbox">' . $input . '<span class="checkbox-label">' . $label . '</span>' . '</label></div>';
     if ($element->useHiddenElement()) {
         $hiddenAttributes = array('name' => $attributes['name'], 'value' => $element->getUncheckedValue());
         $rendered = sprintf('<input type="hidden" %s%s', $this->createAttributesString($hiddenAttributes), $closingBracket) . $rendered;
     }
     return $rendered;
 }
Пример #4
0
 /**
  * Renders a form element label from an element
  * @param \Zend\Form\ElementInterface $element
  * @param array|null $displayOptions
  * @return string
  * @throws \Zend\Form\Exception\DomainException
  */
 public function render(ElementInterface $element, array $displayOptions = array())
 {
     $labelContent = $element->getLabel();
     if (empty($labelContent)) {
         throw new DomainException(sprintf('%s: No label set in the element.', __METHOD__));
     }
     //Translate
     if (null !== ($translator = $this->getTranslator())) {
         $labelContent = $translator->translate($labelContent, $this->getTranslatorTextDomain());
     }
     //Escape
     $escaperHtml = $this->getEscapeHtmlHelper();
     $labelContent = $escaperHtml($labelContent);
     //Label attributes
     $labelAttributes = $element->getLabelAttributes();
     if (empty($labelAttributes)) {
         $labelAttributes = array();
     }
     $labelAttributes = $this->genUtil->addWordsToArrayItem('control-label', $labelAttributes, 'class');
     if (array_key_exists('required', $displayOptions) && $displayOptions['required']) {
         $labelAttributes = $this->genUtil->addWordsToArrayItem('required', $labelAttributes, 'class');
     }
     if (!array_key_exists('id', $labelAttributes)) {
         $labelAttributes['id'] = 'label-' . $element->getName();
     }
     $element->setLabelAttributes($labelAttributes);
     $formLabelHelper = $this->formLabelHelper;
     return $formLabelHelper($element, $labelContent);
 }
 public function render(ElementInterface $element)
 {
     $req = '';
     if ($element->getOption('required')) {
         $req = 'required';
     }
     return sprintf('<tr><td>%s</td><td>%s</td>  </tr>', $element->getLabel(), parent::render($element));
 }
Пример #6
0
 /**
  * Utility form helper that renders a label (if it exists), an element and errors
  *
  * @param ElementInterface $element
  * @return string
  * @throws \Zend\Form\Exception\DomainException
  */
 public function render(ElementInterface $element)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $inputErrorClass = $this->getInputErrorClass();
     $elementErrors = $elementErrorsHelper->render($element);
     // Does this element have errors ?
     if (!empty($elementErrors) && !empty($inputErrorClass)) {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . $inputErrorClass;
         $element->setAttribute('class', $classAttributes);
     }
     $elementString = $elementHelper->render($element);
     if (!empty($label)) {
         $label = $escapeHtmlHelper($label);
         $labelAttributes = $element->getLabelAttributes();
         if (empty($labelAttributes)) {
             $labelAttributes = $this->labelAttributes;
         }
         // Multicheckbox elements have to be handled differently as the HTML standard does not allow nested
         // labels. The semantic way is to group them inside a fieldset
         $type = $element->getAttribute('type');
         if ($type === 'multi_checkbox' || $type === 'radio') {
             $markup = sprintf('<fieldset><legend>%s</legend>%s</fieldset>', $label, $elementString);
         } else {
             if ($element->hasAttribute('id')) {
                 $labelOpen = $labelHelper($element);
                 $labelClose = '';
                 $label = '';
             } else {
                 $labelOpen = $labelHelper->openTag($labelAttributes);
                 $labelClose = $labelHelper->closeTag();
             }
             switch ($this->labelPosition) {
                 case self::LABEL_PREPEND:
                     $markup = $labelOpen . '<span>' . $label . '</span>' . $elementString . $labelClose;
                     break;
                 case self::LABEL_APPEND:
                 default:
                     $markup = $labelOpen . $elementString . '<span>' . $label . '</span>' . $labelClose;
                     break;
             }
             if ($this->renderErrors) {
                 $markup .= $elementErrors;
             }
         }
     } else {
         if ($this->renderErrors) {
             $markup = $elementString . $elementErrors;
         } else {
             $markup = $elementString;
         }
     }
     return $markup;
 }
Пример #7
0
 /**
  * @param ElementInterface $element
  *
  * @return string
  */
 protected function renderLabel(ElementInterface $element)
 {
     $labelPlugin = $this->getView()->plugin('sxb_form_control_label');
     $label = $element->getLabel();
     if (null !== $label) {
         $label = $labelPlugin($label, $element->getName(), $element->getLabelAttributes());
     }
     return $label;
 }
 /**
  * @param ElementInterface $oElement
  * @return string
  */
 public function getLabelContent(ElementInterface $oElement)
 {
     $sLabelContent = $oElement->getLabel() ?: '';
     if ($sLabelContent) {
         if ($oTranslator = $this->getTranslator()) {
             $sLabelContent = $oTranslator->translate($sLabelContent, $this->getTranslatorTextDomain());
         }
     }
     return $sLabelContent;
 }
Пример #9
0
 public function render(ElementInterface $element, $labelPosition = null)
 {
     $result = '<div class="zui-field-group">';
     if ($element->getLabel()) {
         $result .= $this->getView()->formLabel($element);
     }
     $result .= $this->getView()->formElement($element);
     $result .= $this->getView()->zourceFormDescription($element);
     $result .= $this->getView()->formElementErrors($element);
     $result .= '</div>';
     return $result;
 }
 public function __invoke(ElementInterface $element = null, $labelContent = null, $position = null)
 {
     $labelContent = $element->getLabel();
     // Implement all default lines of Zend\Form\View\Helper\FormLabel
     // Set $required to a default of true | existing elements required-value
     $required = $element->hasAttribute('required') ? $element->getAttribute('required') : true;
     if (true === $required && ($labelContent != '' || $labelContent != null || $labelContent != false)) {
         $labelContent = sprintf('<div class="col-lg-10"><span class="im-required">(*)</span> %s</div>', $labelContent);
     } elseif (false === $required && ($labelContent != '' || $labelContent != null || $labelContent != false)) {
         $labelContent = $labelContent;
     }
     return $labelContent;
 }
 /**
  * Utility form helper that renders a label (if it exists), an element and errors
  *
  * @param  ElementInterface $element
  * @throws \Zend\Form\Exception\DomainException
  * @return string
  */
 public function render(ElementInterface $element, $labelPosition = null)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $inputErrorClass = $this->getInputErrorClass();
     if (isset($label) && '' !== $label) {
         // Translate the label
         if (null !== ($translator = $this->getTranslator())) {
             $label = $translator->translate($label, $this->getTranslatorTextDomain());
         }
     }
     // Does this element have errors ?
     if (count($element->getMessages()) > 0 && !empty($inputErrorClass)) {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . $inputErrorClass;
         $element->setAttribute('class', $classAttributes);
     }
     if ($this->partial) {
         $vars = array('element' => $element, 'label' => $label, 'labelAttributes' => $this->labelAttributes, 'labelPosition' => $this->labelPosition, 'renderErrors' => $this->renderErrors);
         return $this->view->render($this->partial, $vars);
     }
     $rowOpen = '<div class="form-group">';
     $rowClose = '</div>';
     $elementString = $elementHelper->render($element);
     if ($elementErrorsHelper->render($element)) {
         $rowOpen = '<div class="form-group has-error">';
         $elementErrors = $elementErrorsHelper->setMessageOpenFormat('<p class="text-danger">')->setMessageSeparatorString('<br />')->setMessageCloseString('</p>')->render($element);
         $elementString .= $elementErrors;
     }
     // hidden elements do not need a <label> -https://github.com/zendframework/zf2/issues/5607
     $type = $element->getAttribute('type');
     if (isset($label) && '' !== $label && $type !== 'hidden') {
         if (!$element instanceof LabelAwareInterface || !$element->getLabelOption('disable_html_escape')) {
             $label = $escapeHtmlHelper($label);
         }
         if ($label !== '' && !$element->hasAttribute('id') || $element instanceof LabelAwareInterface && $element->getLabelOption('always_wrap')) {
             $label = '<label class="col-sm-3 control-label">' . $label . '</label>';
         }
         $elementString = '<div class="col-sm-9">' . $elementString . '</div>';
         // Button element is a special case, because label is always rendered inside it
         if ($element instanceof Button || $element instanceof Checkbox || $element instanceof Radio) {
             $label = '<div class="col-sm-3"></div>';
         }
         $markup = $label . $elementString;
     } else {
         $markup = $elementString;
     }
     return $rowOpen . $markup . $rowClose;
 }
    public function render(ElementInterface $element)
    {
        $escapeHtmlHelper = $this->getEscapeHtmlHelper();
        $labelHelper = $this->getLabelHelper();
        $elementHelper = $this->getElementHelper();
        $elementErrorsHelper = $this->getElementErrorsHelper();
        $label = $element->getLabel();
        $inputErrorClass = $this->getInputErrorClass();
        $elementErrors = $elementErrorsHelper->render($element);
        // Does this element have errors ?
        if (!empty($elementErrors) && !empty($inputErrorClass)) {
            $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
            $classAttributes = $classAttributes . $inputErrorClass;
            $element->setAttribute('class', $classAttributes);
        }
        if (!$element->hasAttribute('id')) {
            $inputId = 'input' . ucfirst($element->getAttribute('name'));
            $element->setAttribute('id', $inputId);
        } else {
            $inputId = $element->getAttribute('id');
        }
        $markup = <<<EOD
<div class="control-group%extraClass">
    <label for="{$inputId}" class="control-label">%label:</label>
    <div class="controls">
        %input
        %help
    </div>
</div>
EOD;
        $elementString = $elementHelper->render($element);
        if (null !== ($translator = $this->getTranslator())) {
            $label = $translator->translate($label, $this->getTranslatorTextDomain());
        }
        $label = $escapeHtmlHelper($label);
        if (!$this->renderErrors) {
            $elementErrors = '';
            $markup = str_replace('%extraClass', '', $markup);
        }
        $markup = str_replace('%label', $label, $markup);
        $markup = str_replace('%input', $elementString, $markup);
        if ($elementErrors) {
            $elementErrors = '<span class="help-inline">' . $elementErrors . '</span>';
            $markup = str_replace('%extraClass', ' error', $markup);
        } else {
            $markup = str_replace('%extraClass', '', $markup);
        }
        $markup = str_replace('%help', $elementErrors, $markup);
        return $markup;
    }
Пример #13
0
 public function render(ElementInterface $element)
 {
     $name = $element->getName();
     if (empty($name) && $name !== 0) {
         throw new Exception\DomainException(sprintf('%s requires that the element has an assigned name; none discovered', __METHOD__));
     }
     $label = $element->getLabel();
     $attributes = $element->getAttributes();
     $attributes['name'] = $name;
     $attributes['type'] = $this->getInputType();
     $attributes['class'] = 'sr-only';
     $attributes['value'] = $element->getValue();
     $closingBracket = $this->getInlineClosingBracket();
     $input = sprintf('<input %s%s', $this->createAttributesString($attributes), $closingBracket);
     $rendered = '<div class="radio"><label class="radio-custom" data-initialize="radio">' . $input . '</label>' . $label . '</div>';
     return $rendered;
 }
Пример #14
0
 /**
  * {@inheritDoc}
  *
  * @param  ElementInterface $element
  */
 public function render($content, array $attribs = [], ElementInterface $element = null)
 {
     if ($content instanceof LabelAwareInterface) {
         $content = $content->getLabel();
     } elseif ($element instanceof LabelAwareInterface) {
         $content = $element->getLabel();
     }
     if (is_string($content) && $this->hasTranslator() && $this->isTranslatorEnabled()) {
         $content = $this->getTranslator()->translate($content, $this->getTranslatorTextDomain());
     }
     if ($element instanceof FormInterface && ($object = $element->getObject()) && method_exists($object, '__toString')) {
         $content = sprintf($content, $object);
     }
     if ($element && (!$element instanceof LabelAwareInterface || !$element->getLabelOption('disable_html_escape'))) {
         $escapeHtmlHelper = $this->getEscapeHtmlHelper();
         $content = $escapeHtmlHelper($content);
     }
     return parent::render($content, $attribs);
 }
Пример #15
0
 /**
  * Utility form helper that renders a label (if it exists), an element and errors
  *
  * @param ElementInterface $element
  * @return string
  * @throws \Zend\Form\Exception\DomainException
  */
 public function render(ElementInterface $element)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $inputErrorClass = $this->getInputErrorClass();
     $elementErrors = $elementErrorsHelper->render($element);
     // Does this element have errors ?
     if (!empty($elementErrors) && !empty($inputErrorClass)) {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . $inputErrorClass;
         $element->setAttribute('class', $classAttributes);
     }
     $elementString = $elementHelper->render($element);
     $markup = $this->openTag($element);
     if (!empty($label)) {
         $label = $escapeHtmlHelper($label);
         $labelAttributes = $element->getLabelAttributes();
         $labelAttributes = is_null($labelAttributes) ? array() : $labelAttributes;
         if (array_key_exists('class', $labelAttributes) && !empty($labelAttributes['class'])) {
             $labelAttributes['class'] .= ' ';
         }
         $labelAttributes['class'] = 'control-label';
         $labelOpen = $labelHelper->openTag($labelAttributes);
         $labelClose = $labelHelper->closeTag();
         $markup .= $labelOpen . $label . $labelClose . '<div class="controls">' . $elementString;
         if ($this->renderErrors) {
             $markup .= $elementErrors;
         }
         $markup .= '</div>';
     } else {
         if ($this->renderErrors) {
             $markup .= $elementString . $elementErrors;
         } else {
             $markup .= $elementString;
         }
     }
     $markup .= $this->closeTag();
     return $markup;
 }
Пример #16
0
 /**
  * Render a collection by iterating through all fieldsets and elements
  *
  * @param  ElementInterface $element
  * @return string
  */
 public function render(ElementInterface $element)
 {
     $renderer = $this->getView();
     if (!method_exists($renderer, 'plugin')) {
         // Bail early if renderer is not pluggable
         return '';
     }
     $markup = '';
     $templateMarkup = '';
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $rowHelper = $this->getRowHelper();
     if ($element instanceof CollectionElement && $element->shouldCreateTemplate()) {
         $elementOrFieldset = $element->getTemplateElement();
         if ($elementOrFieldset instanceof FieldsetInterface) {
             $templateMarkup .= $this->render($elementOrFieldset);
         } elseif ($elementOrFieldset instanceof ElementInterface) {
             $templateMarkup .= $rowHelper($elementOrFieldset);
         }
     }
     foreach ($element->getIterator() as $elementOrFieldset) {
         if ($elementOrFieldset instanceof FieldsetInterface) {
             $markup .= $this->render($elementOrFieldset);
         } elseif ($elementOrFieldset instanceof ElementInterface) {
             $markup .= $rowHelper($elementOrFieldset);
         }
     }
     // If $templateMarkup is not empty, use it for simplify adding new element in JavaScript
     if (!empty($templateMarkup)) {
         $escapeHtmlAttribHelper = $this->getEscapeHtmlAttrHelper();
         $markup .= sprintf('<span data-template="%s"></span>', $escapeHtmlAttribHelper($templateMarkup));
     }
     // Every collection is wrapped by a fieldset if needed
     if ($this->shouldWrap) {
         $label = $element->getLabel();
         if (!empty($label)) {
             $label = $escapeHtmlHelper($label);
             $markup = sprintf('<fieldset><legend>%s</legend>%s</fieldset>', $label, $markup);
         }
     }
     return $markup;
 }
 /**
  * @see \Zend\Form\View\Helper\FormCheckbox::render()
  * @param \Zend\Form\ElementInterface $oElement
  * @throws \LogicException
  * @throws \InvalidArgumentException
  * @return string
  */
 public function render(\Zend\Form\ElementInterface $oElement)
 {
     if (!$oElement instanceof \Zend\Form\Element\Checkbox) {
         throw new \InvalidArgumentException(sprintf('%s requires that the element is of type Zend\\Form\\Element\\Checkbox', __METHOD__));
     }
     if (($sName = $oElement->getName()) !== 0 && empty($sName)) {
         throw new \LogicException(sprintf('%s requires that the element has an assigned name; none discovered', __METHOD__));
     }
     $aAttributes = $oElement->getAttributes();
     $aAttributes['name'] = $sName;
     $aAttributes['type'] = $this->getInputType();
     $aAttributes['value'] = $oElement->getCheckedValue();
     $sClosingBracket = $this->getInlineClosingBracket();
     if ($oElement->isChecked()) {
         $aAttributes['checked'] = 'checked';
     }
     //Render label
     $sLabelOpen = $sLabelClose = $sLabelContent = '';
     //Render label and visible element
     if ($sLabelContent = $oElement->getLabel()) {
         if ($oTranslator = $this->getTranslator()) {
             $sLabelContent = $oTranslator->translate($sLabelContent, $this->getTranslatorTextDomain());
         }
         $oLabelHelper = $this->getLabelHelper();
         $sLabelOpen = $oLabelHelper->openTag($oElement->getLabelAttributes() ?: null);
         $sLabelClose = $oLabelHelper->closeTag();
     }
     //Render checkbox
     $sElementContent = sprintf('<input %s%s', $this->createAttributesString($aAttributes), $sClosingBracket);
     //Add label markup
     if ($this->getLabelPosition($oElement) === \Zend\Form\View\Helper\FormRow::LABEL_PREPEND) {
         $sElementContent = $sLabelOpen . ($sLabelContent ? rtrim($sLabelContent) . ' ' : '') . $sElementContent . $sLabelClose;
     } else {
         $sElementContent = $sLabelOpen . $sElementContent . ($sLabelContent ? ' ' . ltrim($sLabelContent) : '') . $sLabelClose;
     }
     //Render hidden input
     if ($oElement->useHiddenElement()) {
         $sElementContent = sprintf('<input type="hidden" %s%s', $this->createAttributesString(array('name' => $aAttributes['name'], 'value' => $oElement->getUncheckedValue())), $sClosingBracket) . $sElementContent;
     }
     return $sElementContent;
 }
Пример #18
0
 /**
  * render
  *
  * Return the HTML representation of the form element's label.
  *
  * @param ElementInterface  $element  The form element which label should be rendered.
  * @param array             $options  Optional view helper options.
  *
  * @return string
  */
 public function render(ElementInterface $element, array $options = [])
 {
     if (!empty($options)) {
         $this->setOptions($options);
     }
     $name = $element->getName();
     $label = $element->getLabel();
     if (empty($label) && false == $this->getOption('allow_empty_label', false)) {
         return '';
     }
     // Merge the label attributes
     $attributes = $this->getAttributes();
     if ($element instanceof LabelAwareInterface) {
         $attributes = array_merge($attributes, $element->getLabelAttributes());
     }
     if (!empty($name) && !isset($attributes['for'])) {
         $attributes['for'] = $name;
     }
     $this->setAttributes(array_unique($attributes));
     return parent::render($label);
 }
Пример #19
0
 /**
  * {@inheritDoc}
  */
 public function render($content, array $attribs = [], ElementInterface $element = null)
 {
     if ($element) {
         $srOnly = $this->getSrOnly();
         if (null === $srOnly) {
             if ($element instanceof LabelAwareInterface) {
                 if (!$element->getLabel()) {
                     return '';
                 }
                 $srOnly = $element->getLabelOption('sr_only');
             }
             if (null === $srOnly && $element->hasAttribute('placeholder')) {
                 $srOnly = true;
             }
         }
         if ($srOnly) {
             $attribs = array_merge_recursive($attribs, ['class' => 'sr-only']);
         }
     }
     return parent::render($content, $attribs, $element);
 }
Пример #20
0
 /**
  * Utility form helper that renders a label (if it exists), an element and errors
  *
  * @param ElementInterface $element
  * @return string
  * @throws \Zend\Form\Exception\DomainException
  */
 public function render(ElementInterface $element)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $elementString = $elementHelper->render($element);
     $elementErrors = $elementErrorsHelper->render($element);
     if (!empty($label)) {
         $label = $escapeHtmlHelper($label);
         $labelAttributes = $element->getLabelAttributes();
         if (empty($labelAttributes)) {
             $labelAttributes = $this->labelAttributes;
         }
         // Multicheckbox elements have to be handled differently as the HTML standard does not allow nested
         // labels. The semantic way is to group them inside a fieldset
         $type = $element->getAttribute('type');
         if ($type === 'multi_checkbox' || $type === 'multicheckbox' || $type === 'radio') {
             $markup = sprintf('<fieldset><legend>%s</legend>%s</fieldset>', $label, $elementString);
         } else {
             $labelOpen = $labelHelper->openTag($labelAttributes);
             $labelClose = $labelHelper->closeTag();
             switch ($this->labelPosition) {
                 case self::LABEL_PREPEND:
                     $markup = $labelOpen . $label . $elementString . $labelClose . $elementErrors;
                     break;
                 case self::LABEL_APPEND:
                 default:
                     $markup = $labelOpen . $elementString . $label . $labelClose . $elementErrors;
                     break;
             }
         }
     } else {
         $markup = $elementString . $elementErrors;
     }
     return $markup;
 }
Пример #21
0
 /**
  * Render a form <input> element from the provided $element
  *
  * @param  ElementInterface $element
  * @param String $buttonContent
  * @throws Exception\DomainException
  * @return string
  */
 public function render(ElementInterface $element, $buttonContent = null)
 {
     if (null === $buttonContent) {
         $buttonContent = $element->getLabel();
         if (null === $buttonContent) {
             throw new Exception\DomainException(sprintf('%s expects either button content as the second argument, ' . 'or that the element provided has a label value; neither found', __METHOD__));
         }
         if (null !== ($translator = $this->getTranslator())) {
             $buttonContent = $translator->translate($buttonContent, $this->getTranslatorTextDomain());
         }
         $element->setLabel('');
     }
     $value = $element->getValue();
     $checkedBoole = $value == 1 || $value == 'on';
     $checkedClass = $checkedBoole ? 'active"' : '';
     $hiddenElement = '';
     if ($element->useHiddenElement()) {
         $hiddenAttributes = ['name' => $element->getName(), 'value' => $element->getUncheckedValue()];
         $hiddenElement = sprintf('<input type="hidden" %s%s', $this->createAttributesString($hiddenAttributes), '>');
         $element->setUseHiddenElement(false);
     }
     $buttonContent = $hiddenElement . PHP_EOL . '<div class="btn-group" data-toggle="buttons">' . PHP_EOL . '<label class="btn btn-default ' . $checkedClass . '">' . PHP_EOL . parent::render($element) . $buttonContent . PHP_EOL . '</label>' . PHP_EOL . '</div>' . PHP_EOL;
     return $buttonContent;
 }
 public function render(ElementInterface $element, $labelPosition = null)
 {
     if ($element->getMessages()) {
         $html = '<div class="form-group has-error">';
     } else {
         $html = '<div class="form-group">';
     }
     if ($element->getLabel()) {
         $html .= $this->view->formLabel($element);
         $element->setAttribute('class', 'form-control');
     }
     if ($element instanceof Submit) {
         $element->setAttribute('class', 'btn btn-primary');
     }
     $html .= $this->view->formElement($element);
     if ($element->getMessages()) {
         $html .= '<div class="help-block">';
         //            $html .= $this->view->formElementErrors($element);
         $html .= implode('<br>', $element->getMessages());
         $html .= '</div>';
     }
     $html .= '</div>';
     return $html;
 }
Пример #23
0
 /**
  * Render element's label
  * 
  * @param ElementInterface $oElement        	
  * @return string
  */
 protected function renderLabel(ElementInterface $oElement)
 {
     if (($sLabel = $oElement->getLabel()) && ($oTranslator = $this->getTranslator())) {
         $sLabel = $oTranslator->translate($sLabel, $this->getTranslatorTextDomain());
     }
     return $sLabel;
 }
Пример #24
0
 public function render(ElementInterface $element)
 {
     $elementData = array('type' => $element->getAttribute('type'), 'name' => $element->getName(), 'label' => $element->getLabel(), 'value' => $element->getValue(), 'attributes' => $this->renderAttributes($element, array('name', 'type')));
     $specData = $this->getSpec($element);
     return array_merge($elementData, $specData);
 }
Пример #25
0
 public function render(ElementInterface $element, $labelPosition = null)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $inputErrorClass = $this->getInputErrorClass();
     if (isset($label) && '' !== $label) {
         // Translate the label
         if (null !== ($translator = $this->getTranslator())) {
             $label = $translator->translate($label, $this->getTranslatorTextDomain());
         }
     }
     // Does this element have errors ?
     if (count($element->getMessages()) > 0 && !empty($inputErrorClass)) {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . $inputErrorClass;
         $element->setAttribute('class', $classAttributes);
     }
     if ($this->partial) {
         $vars = array('element' => $element, 'label' => $label, 'labelAttributes' => $this->labelAttributes, 'labelPosition' => $this->labelPosition, 'renderErrors' => $this->renderErrors);
         return $this->view->render($this->partial, $vars);
     }
     if ($this->renderErrors) {
         $elementErrors = $elementErrorsHelper->render($element);
     }
     $elementString = $elementHelper->render($element);
     if (isset($label) && '' !== $label) {
         $label = $escapeHtmlHelper($label);
         $labelAttributes = $element->getLabelAttributes();
         if (empty($labelAttributes)) {
             $labelAttributes = $this->labelAttributes;
         }
         // Multicheckbox elements have to be handled differently as the HTML standard does not allow nested
         // labels. The semantic way is to group them inside a fieldset
         $type = $element->getAttribute('type');
         if ($type === 'multi_checkbox' || $type === 'radio') {
             $markup = sprintf('<fieldset><legend>%s</legend>%s</fieldset>', $label, $elementString);
         } else {
             if ($element->hasAttribute('id')) {
                 $labelOpen = '';
                 $labelClose = '';
                 $label = $labelHelper($element);
             } else {
                 $labelOpen = $labelHelper->openTag($labelAttributes);
                 $labelClose = $labelHelper->closeTag();
             }
             if ($label !== '' && !$element->hasAttribute('id')) {
                 $label = '<span>' . $label . '</span>';
             }
             // Button element is a special case, because label is always rendered inside it
             if ($element instanceof Button) {
                 $labelOpen = $labelClose = $label = '';
             }
             switch ($this->labelPosition) {
                 case self::LABEL_PREPEND:
                     $markup = $labelOpen . $label . $elementString . $labelClose;
                     break;
                 case self::LABEL_APPEND:
                 default:
                     $markup = $labelOpen . $elementString . $label . $labelClose;
                     break;
             }
         }
         if ($this->renderErrors) {
             $markup .= $elementErrors;
         }
     } else {
         if (!empty($this->renderErrors)) {
             $markup = $elementString . $elementErrors;
         } else {
             $markup = $elementString;
         }
     }
     return $markup;
 }
Пример #26
0
 public function render(ElementInterface $element, $isHorizontal = false, $labelColumns = 2)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $inputErrorClass = $this->getInputErrorClass();
     if (isset($label) && '' !== $label) {
         // Translate the label
         if (null !== ($translator = $this->getTranslator())) {
             $label = $translator->translate($label, $this->getTranslatorTextDomain());
         }
     }
     $type = $element->getAttribute('type');
     if ($type != 'checkbox' && $type != 'submit' && $type != 'button' && $type != 'radio' && $type != 'file' && $type != 'multi_checkbox') {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . 'form-control';
         $element->setAttribute('class', $classAttributes);
     } elseif ($type == 'button' || $type == 'submit') {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . 'btn';
         $element->setAttribute('class', $classAttributes);
     }
     // Does this element have errors ?
     if (count($element->getMessages()) > 0 && !empty($inputErrorClass)) {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . $inputErrorClass;
         $element->setAttribute('class', $classAttributes);
     }
     if ($this->partial) {
         $vars = ['element' => $element, 'label' => $label, 'labelAttributes' => $this->labelAttributes, 'labelPosition' => $this->labelPosition, 'renderErrors' => $this->renderErrors];
         return $this->view->render($this->partial, $vars);
     }
     $elementErrors = '';
     if ($this->renderErrors) {
         $elementErrors = $elementErrorsHelper->render($element, ['class' => 'text-danger']);
     }
     $elementString = $elementHelper->render($element);
     $addonAppend = $element->getOption('addon-append');
     $addonPrepend = $element->getOption('addon-prepend');
     if ($addonAppend !== null || $addonPrepend !== null) {
         $addonString = '<div class="input-group">';
         $addonString .= $this->addAddon($addonPrepend);
         $addonString .= $elementString;
         $addonString .= $this->addAddon($addonAppend);
         $addonString .= '</div>';
         $elementString = $addonString;
     }
     $elementString .= $this->getHelpBlock($element);
     // hidden elements do not need a <label> -https://github.com/zendframework/zf2/issues/5607
     if (isset($label) && '' !== $label && $type !== 'hidden') {
         $labelAttributes = [];
         if ($element instanceof LabelAwareInterface) {
             $labelAttributes = $element->getLabelAttributes();
         }
         if (!$element instanceof LabelAwareInterface || !$element->getLabelOption('disable_html_escape')) {
             $label = $escapeHtmlHelper($label);
         }
         if (empty($labelAttributes)) {
             $labelAttributes = $this->labelAttributes;
         }
         if (!$element->getAttribute('id') && $element->getName()) {
             $element->setAttribute('id', $element->getName());
         }
         if ($element->getAttribute('id')) {
             $labelAttributes['for'] = $element->getAttribute('id');
         }
         if ($isHorizontal) {
             $labelAttributes['class'] = ' control-label col-sm-' . $labelColumns;
             if ($element instanceof LabelAwareInterface) {
                 $element->setLabelAttributes(['class' => 'control-label col-sm-' . $labelColumns]);
             }
         } else {
             $labelAttributes['class'] = ' control-label';
             if ($element instanceof LabelAwareInterface) {
                 $element->setLabelAttributes(['class' => 'control-label']);
             }
         }
         // Multicheckbox elements have to be handled differently as the HTML standard does not allow nested
         // labels. The semantic way is to group them inside a fieldset
         if (!$isHorizontal && ($type === 'multi_checkbox' || $type === 'radio' || $element instanceof MonthSelect)) {
             $markup = sprintf('<fieldset class="radio"><legend>%s</legend>%s</fieldset>', $label, $elementString);
         } elseif ($type == 'checkbox') {
             // Checkboxes need special treatment too
             if ($isHorizontal) {
                 $markup = '<div class="form-group"><div class="checkbox col-xs-' . (12 - $labelColumns) . ' col-xs-offset-' . $labelColumns . '"><label>' . $elementString . $label . '</label></div></div>';
             } else {
                 $markup = '<div class="checkbox"><label>' . $elementString . $label . '</label></div>';
             }
         } else {
             // Ensure element and label will be separated if element has an `id`-attribute.
             // If element has label option `always_wrap` it will be nested in any case.
             if ($element->hasAttribute('id') && ($element instanceof LabelAwareInterface && !$element->getLabelOption('always_wrap'))) {
                 $labelOpen = '';
                 $labelClose = '';
                 $label = $labelHelper($element);
             } else {
                 $labelOpen = $labelHelper->openTag($labelAttributes);
                 $labelClose = $labelHelper->closeTag();
             }
             if ($label !== '' && !$element->hasAttribute('id') || $element instanceof LabelAwareInterface && $element->getLabelOption('always_wrap')) {
                 $label = '<span>' . $label . '</span>';
             }
             $addDivClass = '';
             // Button element is a special case, because label is always rendered inside it
             if ($element instanceof Button) {
                 $labelOpen = $labelClose = $label = '';
                 $addDivClass = ' col-xs-offset-' . $labelColumns;
             }
             if ($type == 'radio') {
                 $addDivClass = ' radio';
             }
             switch ($this->labelPosition) {
                 case self::LABEL_PREPEND:
                     if ($isHorizontal) {
                         $markup = sprintf($this->horizontalRowWrapper, !empty($elementErrors) ? ' has-error' : '', $labelOpen . $label . $labelClose, 12 - $labelColumns, $addDivClass, $elementString . ($this->renderErrors ? $elementErrors : ''), '');
                     } else {
                         $markup = sprintf($this->rowWrapper, !empty($elementErrors) ? ' has-error' : '', $labelOpen . $label . $labelClose, $elementString);
                     }
                     break;
                 case self::LABEL_APPEND:
                 default:
                     if ($isHorizontal) {
                         $markup = sprintf($this->horizontalRowWrapper, !empty($elementErrors) ? ' has-error' : '', '', 12 - $labelColumns, $addDivClass, $elementString . ($this->renderErrors ? $elementErrors : ''), $labelOpen . $label . $labelClose);
                     } else {
                         $markup = sprintf($this->rowWrapper, !empty($elementErrors) ? ' has-error' : '', $elementString, $labelOpen . $label . $labelClose);
                     }
                     break;
             }
         }
         if (!$isHorizontal && $this->renderErrors) {
             $markup .= $elementErrors;
         }
     } else {
         if ($isHorizontal && $this->labelPosition == self::LABEL_PREPEND && $type !== 'hidden') {
             $markup = sprintf($this->horizontalRowWrapper, !empty($elementErrors) ? ' has-error' : '', '', 12 - $labelColumns, ' col-xs-offset-' . $labelColumns, $elementString . ($this->renderErrors ? $elementErrors : ''), '');
         } else {
             if ($this->renderErrors) {
                 $markup = $elementString . $elementErrors;
             } else {
                 $markup = $elementString;
             }
         }
     }
     return $markup;
 }
 /**
  * Helper function to recurse into form elements when rendering summary.
  * 
  * @param ElementInterface $element
  * @return string
  */
 protected function renderSummaryElement(ElementInterface $element)
 {
     if ($element instanceof Hidden || false === $element->getOption('render_summary')) {
         return '';
     }
     if ($element instanceof ViewPartialProviderInterface) {
         $partial = $element->getViewPartial();
         $summaryPartial = $partial . '.summary';
         $partialParams = array('element' => $element);
         if (!$this->getView()->resolver($summaryPartial)) {
             $summaryPartial = $partial;
             $partialParams['renderSummary'] = true;
         }
         return $this->getView()->partial($summaryPartial, $partialParams);
     }
     if ($element instanceof EmptySummaryAwareInterface && $element->isSummaryEmpty()) {
         $emptySummaryNotice = $this->getTranslator()->translate($element->getEmptySummaryNotice(), $this->getTranslatorTextDomain());
         $markup = sprintf('<div id="%s-empty-alert" class="empty-summary-notice alert alert-info"><p>%s</p></div>', $element->getAttribute('id'), $emptySummaryNotice);
         return $markup;
     }
     $label = $element->getLabel();
     $markup = '';
     if ($element instanceof FieldsetInterface) {
         if (!$element instanceof FormInterface && $label) {
             $markup .= '<h4>' . $label . '</h4>';
         }
         foreach ($element as $el) {
             $markup .= $this->renderSummaryElement($el);
         }
         return $markup;
     }
     $elementValue = $element instanceof \Zend\Form\Element\Textarea ? nl2br($element->getValue()) : $element->getValue();
     $markup .= '<div class="row">';
     $col = 12;
     if ($label) {
         $markup .= '<div class="col-md-3"><strong>' . $label . '</strong></div>';
         $col = 9;
     }
     $markup .= '<div class="col-md-' . $col . '">' . $elementValue . '</div>' . '</div>';
     return $markup;
 }
Пример #28
0
 /**
  * Render a form <input> element from the provided $element
  *
  * @param  ElementInterface $element
  * @throws Exception\InvalidArgumentException
  * @throws Exception\DomainException
  * @return string
  */
 public function render(ElementInterface $element)
 {
     if (!$element instanceof CheckboxElement) {
         throw new Exception\InvalidArgumentException(sprintf('%s requires that the element is of type' . ' Zend\\Form\\Element\\Checkbox', __METHOD__));
     }
     $name = $element->getName();
     if (empty($name) && $name !== 0) {
         throw new Exception\DomainException(sprintf('%s requires that the element has an assigned name;' . ' none discovered', __METHOD__));
     }
     $attributes = $element->getAttributes();
     $attributes['name'] = $name;
     $attributes['type'] = $this->getInputType();
     $attributes['value'] = $element->getCheckedValue();
     $closingBracket = $this->getInlineClosingBracket();
     if ($element->isChecked()) {
         $attributes['checked'] = 'checked';
     }
     $input = sprintf('<input %s%s', $this->createAttributesString($attributes), $closingBracket);
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $labelClose = $labelHelper->closeTag();
     $labelPosition = $this->getLabelPosition();
     $globalLabelAttributes = $element->getLabelAttributes();
     if (empty($globalLabelAttributes)) {
         $globalLabelAttributes = $this->labelAttributes;
     }
     $label = $element->getAttribute('description') ?: $element->getLabel();
     $labelAttributes = $this->labelAttributes ?: $element->getLabelAttributes();
     if (null !== ($translator = $this->getTranslator())) {
         $label = $translator->translate($label, $this->getTranslatorTextDomain());
     }
     $label = $escapeHtmlHelper($label);
     $labelOpen = $labelHelper->openTag($labelAttributes);
     $template = $labelOpen . '%s%s' . $labelClose;
     switch ($labelPosition) {
         case static::LABEL_PREPEND:
             $rendered = sprintf($template, $label, $input);
             break;
         case static::LABEL_APPEND:
         default:
             $rendered = sprintf($template, $input, $label);
             break;
     }
     // Render hidden element
     $useHiddenElement = null !== $this->useHiddenElement ? $this->useHiddenElement : (method_exists($element, 'useHiddenElement') ? $element->useHiddenElement() : false);
     if ($useHiddenElement) {
         $hiddenAttributes = array('name' => $attributes['name'], 'value' => $element->getUncheckedValue());
         $rendered = sprintf('<input type="hidden" %s%s', $this->createAttributesString($hiddenAttributes), $closingBracket) . $rendered;
     }
     return $rendered;
 }
Пример #29
0
 /**
  * Utility form helper that renders a label (if it exists), an element and errors
  *
  * @param  ElementInterface $element
  * @param  null|string      $labelPosition
  * @throws \Zend\Form\Exception\DomainException
  * @return string
  */
 public function render(ElementInterface $element, $labelPosition = null)
 {
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $labelHelper = $this->getLabelHelper();
     $elementHelper = $this->getElementHelper();
     $elementErrorsHelper = $this->getElementErrorsHelper();
     $label = $element->getLabel();
     $inputErrorClass = $this->getInputErrorClass();
     if (is_null($labelPosition)) {
         $labelPosition = $this->labelPosition;
     }
     if (isset($label) && '' !== $label) {
         // Translate the label
         if (null !== ($translator = $this->getTranslator())) {
             $label = $translator->translate($label, $this->getTranslatorTextDomain());
         }
     }
     // Does this element have errors ?
     if (count($element->getMessages()) > 0 && !empty($inputErrorClass)) {
         $classAttributes = $element->hasAttribute('class') ? $element->getAttribute('class') . ' ' : '';
         $classAttributes = $classAttributes . $inputErrorClass;
         $element->setAttribute('class', $classAttributes);
     }
     if ($this->partial) {
         $vars = ['element' => $element, 'label' => $label, 'labelAttributes' => $this->labelAttributes, 'labelPosition' => $labelPosition, 'renderErrors' => $this->renderErrors];
         return $this->view->render($this->partial, $vars);
     }
     if ($this->renderErrors) {
         $elementErrors = $elementErrorsHelper->render($element);
     }
     $elementString = $elementHelper->render($element);
     // hidden elements do not need a <label> -https://github.com/zendframework/zf2/issues/5607
     $type = $element->getAttribute('type');
     if (isset($label) && '' !== $label && $type !== 'hidden') {
         $labelAttributes = [];
         if ($element instanceof LabelAwareInterface) {
             $labelAttributes = $element->getLabelAttributes();
         }
         if (!$element instanceof LabelAwareInterface || !$element->getLabelOption('disable_html_escape')) {
             $label = $escapeHtmlHelper($label);
         }
         if (empty($labelAttributes)) {
             $labelAttributes = $this->labelAttributes;
         }
         // Multicheckbox elements have to be handled differently as the HTML standard does not allow nested
         // labels. The semantic way is to group them inside a fieldset
         if ($type === 'multi_checkbox' || $type === 'radio' || $element instanceof MonthSelect || $element instanceof Captcha) {
             $markup = sprintf('<fieldset><legend>%s</legend>%s</fieldset>', $label, $elementString);
         } else {
             // Ensure element and label will be separated if element has an `id`-attribute.
             // If element has label option `always_wrap` it will be nested in any case.
             if ($element->hasAttribute('id') && ($element instanceof LabelAwareInterface && !$element->getLabelOption('always_wrap'))) {
                 $labelOpen = '';
                 $labelClose = '';
                 $label = $labelHelper->openTag($element) . $label . $labelHelper->closeTag();
             } else {
                 $labelOpen = $labelHelper->openTag($labelAttributes);
                 $labelClose = $labelHelper->closeTag();
             }
             if ($label !== '' && !$element->hasAttribute('id') || $element instanceof LabelAwareInterface && $element->getLabelOption('always_wrap')) {
                 $label = '<span>' . $label . '</span>';
             }
             // Button element is a special case, because label is always rendered inside it
             if ($element instanceof Button) {
                 $labelOpen = $labelClose = $label = '';
             }
             if ($element instanceof LabelAwareInterface && $element->getLabelOption('label_position')) {
                 $labelPosition = $element->getLabelOption('label_position');
             }
             switch ($labelPosition) {
                 case self::LABEL_PREPEND:
                     $markup = $labelOpen . $label . $elementString . $labelClose;
                     break;
                 case self::LABEL_APPEND:
                 default:
                     $markup = $labelOpen . $elementString . $label . $labelClose;
                     break;
             }
         }
         if ($this->renderErrors) {
             $markup .= $elementErrors;
         }
     } else {
         if ($this->renderErrors) {
             $markup = $elementString . $elementErrors;
         } else {
             $markup = $elementString;
         }
     }
     return $markup;
 }
Пример #30
0
 /**
  * Render a fieldset by iterating through all fieldsets and elements
  *
  * @param  ElementInterface $element
  * @return string
  */
 public function render(ElementInterface $element)
 {
     $renderer = $this->getView();
     if (!method_exists($renderer, 'plugin')) {
         // Bail early if renderer is not pluggable
         return '';
     }
     $markup = '';
     $escapeHtmlHelper = $this->getEscapeHtmlHelper();
     $rowHelper = $this->getRowHelper();
     foreach ($element->getIterator() as $elementOrFieldset) {
         if ($elementOrFieldset instanceof FieldsetInterface) {
             $markup .= $this->render($elementOrFieldset);
         } elseif ($elementOrFieldset instanceof ElementInterface) {
             $markup .= $rowHelper($elementOrFieldset);
         }
     }
     // Every collection is wrapped by a fieldset if needed
     if ($this->shouldWrap) {
         $label = $element->getLabel();
         if (!empty($label)) {
             $label = $escapeHtmlHelper($label);
             $markup = sprintf('<fieldset><legend>%s</legend>%s</fieldset>', $label, $markup);
         }
     }
     return $markup;
 }