コード例 #1
0
ファイル: Plain.php プロジェクト: hanif/stokq
 /**
  * @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);
     }
 }
コード例 #2
0
ファイル: Basic.php プロジェクト: hanif/stokq
 /**
  * @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);
     }
 }
コード例 #3
0
 /**
  * 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);
 }
コード例 #4
0
ファイル: FormMessages.php プロジェクト: coolms/common
 /**
  * {@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;
 }
コード例 #5
0
 /**
  * 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);
 }