/** * @param Element $element * @return string */ public function render(Element $element) { if ($element instanceof Element\Hidden) { return $this->elementHelper->render($element); } else { $replaces = ['{{before}}' => '', '{{after}}' => '', '{{error_messages}}' => '', '{{elem_markup}}' => '']; $elemClass = $element->getAttribute('class'); $elemType = $element->getAttribute('type'); $placeholder = $element->getAttribute('placeholder'); if (!$placeholder) { $element->setAttribute('placeholder', $element->getLabel()); } if (!in_array($elemType, $this->excludedFormControlClass)) { $element->setAttribute('class', join(' ', ['form-control', $elemClass])); } if (method_exists($element, 'getInputSpecification')) { $spec = $element->getInputSpecification(); if (isset($spec['required']) && $spec['required']) { $element->setAttribute('required', 'required'); } } if ($errorMessages = $this->errorHelper->render($element)) { $replaces['{{error_messages}}'] = sprintf('<div class="error-messages">%s</div>', $errorMessages); } if ($before = $element->getOption('before')) { $replaces['{{before}}'] = $before; } if ($after = $element->getOption('after')) { $replaces['{{after}}'] = $after; } $replaces['{{elem_markup}}'] = $this->elementHelper->render($element); return strtr($this->template, $replaces); } }
/** * @param Element $element * @return string */ public function render(Element $element) { if ($element instanceof Element\Hidden) { return $this->elementHelper->render($element); } else { $replaces = ['{{before}}' => '', '{{after}}' => '', '{{row_class}}' => $this->options['row_class'], '{{label_text}}' => $element->getLabel(), '{{label_class}}' => '', '{{elem_markup}}' => '', '{{error_messages}}' => '', '{{help_text}}' => '', '{{feedback}}' => '', '{{elem_id}}' => '']; $elemClass = $element->getAttribute('class'); $elemType = $element->getAttribute('type'); if (!in_array($elemType, $this->excludedFormControlClass)) { $element->setAttribute('class', join(' ', ['form-control', $elemClass])); } if (method_exists($element, 'getInputSpecification')) { $spec = $element->getInputSpecification(); if (isset($spec['required']) && $spec['required']) { $replaces['{{label_class}}'] .= ' required'; $element->setAttribute('required', 'required'); } } if ($errorMessages = $this->errorHelper->render($element)) { $replaces['{{error_messages}}'] = sprintf('<div class="error-messages">%s</div>', $errorMessages); } if ($replaces['{{error_messages}}']) { $replaces['{{row_class}}'] .= ' has-error'; } if ($feedback = $element->getOption('feedback')) { $replaces['{{feedback}}'] = sprintf('<span class="fa fa-%s form-control-feedback"></span>', $feedback); $replaces['{{row_class}}'] .= ' has-feedback'; } if ($helpText = $element->getOption('help')) { $replaces['{{help_text}}'] = sprintf('<div class="help-text help-block">%s</div>', $helpText); } if ($before = $element->getOption('before')) { $replaces['{{before}}'] = $before; } if ($after = $element->getOption('after')) { $replaces['{{after}}'] = $after; } if (!$element->getAttribute('id')) { $element->setAttribute('id', sprintf('input-id-%s', crc32(self::$suffix++))); } $replaces['{{elem_id}}'] = $element->getAttribute('id'); $replaces['{{elem_markup}}'] = $this->elementHelper->render($element); return strtr($this->template, $replaces); } }
/** * Render validation errors for the provided $oElement * @see \Zend\Form\View\Helper\FormElementErrors::render() * @param \Zend\Form\ElementInterface $oElement * @param array $aAttributes * @return string */ public function render(\Zend\Form\ElementInterface $oElement, array $aAttributes = array()) { if (isset($aAttributes['class'])) { if (!preg_match('/(\\s|^)advice(\\s|$)/', $aAttributes['class'])) { $aAttributes['class'] .= ' advice'; } } else { $aAttributes['class'] = 'advice'; } return parent::render($oElement, $aAttributes); }
/** * {@inheritDoc} */ public function render(ElementInterface $element, array $attributes = []) { $markup = ''; $renderer = $this->getView(); if (!method_exists($renderer, 'plugin')) { return $markup; } /* @var $flashMessenger \Zend\View\Helper\FlashMessenger */ $flashMessenger = $renderer->plugin('flashmessenger'); if ($flashMessenger->hasCurrentMessages() || $element->getMessages()) { $formName = $element->getName(); foreach ($this->classMessages as $namespace => $class) { $attribs = $attributes; if ($namespace === PluginFlashMessenger::NAMESPACE_ERROR) { $flashMessenger->setTranslatorTextDomain($this->getTranslatorTextDomain()); if (!$this->getMessageOpenFormat()) { $this->setMessageOpenFormat($flashMessenger->getMessageOpenFormat()); } if (!$this->getMessageSeparatorString()) { $this->setMessageSeparatorString($flashMessenger->getMessageSeparatorString()); } if (!$this->getMessageCloseString()) { $this->setMessageCloseString($flashMessenger->getMessageCloseString()); } if ($flashMessenger->hasCurrentMessages() && ($messages = $flashMessenger->getCurrentMessagesFromNamespace("{$formName}-{$namespace}"))) { $element->setMessages(array_merge($element->getMessages(), $messages)); } if (isset($attribs['class'])) { $attribs['class'] .= ' ' . $class; } else { $attribs['class'] = $class; } $markup .= parent::render($element, $attribs); } elseif ($flashMessenger->hasCurrentMessages()) { if (isset($attribs['class'])) { $class = array_merge((array) $attribs['class'], (array) $class); } $markup .= $flashMessenger->renderCurrent("{$formName}-{$namespace}", (array) $class); } } } return $markup; }
/** * Render validation errors for the provided $element * @param ElementInterface $element * @param array $attributes * @return string */ public function render(ElementInterface $element, array $attributes = array()) { $attributes = $this->genUtil->addWordsToArrayItem('errors', $attributes, 'class'); return parent::render($element, $attributes); }