/** * @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}}' => $this->options['label_class'], '{{elem_markup}}' => '', '{{elem_wrapper_class}}' => $this->options['elem_wrapper_class'], '{{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 ($elemType) { $replaces['{{elem_wrapper_class}}'] .= sprintf(' type-%s', $elemType); } 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['{{elem_wrapper_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); } }
public function render(ElementInterface $element) { /* just a reminder. the types are: checkbox, color, date, datetime, datetime-local, email, file, hidden image, month, multi_checkbox, number, password, radio, range, reset search, select, submit, tel, text, textarea, time, url, week */ $labelHelper = $this->getLabelHelper(); $escapeHelper = $this->getEscapeHtmlHelper(); $elementHelper = $this->getElementHelper(); $elementErrorHelper = $this->getElementErrorHelper(); $descriptionHelper = $this->getDescriptionHelper(); $groupWrapper = $groupWrapper ?: $this->groupWrapper; $controlWrapper = $controlWrapper ?: $this->controlWrapper; $id = $element->getAttribute('id') ?: $element->getAttribute('name'); $html = ""; $label = $element->getAttribute('label'); if ($label) { $html .= $labelHelper->openTag(array('for' => $id, 'class' => 'control-label')); // todo allow for not escaping the label $html .= $escapeHelper($label); $html .= $labelHelper->closeTag(); } $html .= sprintf($controlWrapper, $id, $elementHelper->render($element), $descriptionHelper->render($element), $elementErrorHelper->render($element)); $addtClass = $element->getMessages() ? ' error' : ''; echo $element->getLabel(); die; $output .= parent::render($element); return $output; }
public function render(ElementInterface $element = null) { if ($element->getMessages()) { $element->setAttribute('class', 'error ' . $element->getAttribute('class')); } return parent::render($element); }
public function render(ElementInterface $element) { $attributes = $element->getAttributes(); if (isset($attributes['custom'])) { $custom = $attributes['custom']; unset($attributes['custom']); $element->setAttributes($attributes); } $prefix = ''; $suffix = ''; // Check on name for now if ($attributes['type'] === 'text' && $attributes['name'] === 'email') { $prefix .= '<div class="input-group">'; $prefix .= '<span class="input-group-addon">@</span>'; $suffix .= '<span class="input-group-addon" id="basic-addon2">@example.com</span>'; $suffix .= '</div>'; } elseif ($attributes['type'] === 'text' && $attributes['name'] === 'keyword') { $prefix .= '<div class="input-group">'; $suffix .= '<span class="input-group-btn">'; $suffix .= sprintf('<button class="btn btn-default" type="submit">%s</button>', $custom['label']); $suffix .= '</span>'; } return $prefix . parent::render($element) . $suffix; }
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)); }
public function render(ElementInterface $element) { $renderer = $this->getView(); if (!method_exists($renderer, 'plugin')) { return ''; } if ($element instanceof UploadcareInput) { $helper = $renderer->plugin('formuploadcareinputhelper'); return $helper($element); } return parent::render($element); }
public function render(ElementInterface $element) { $renderer = $this->getView(); if (!method_exists($renderer, 'plugin')) { return ''; } if ($element instanceof Element\PlainText) { $helper = $renderer->plugin('form_plain_text'); return $helper($element); } if ($element instanceof Element\CheckboxTree) { $helper = $renderer->plugin('form_checkbox_tree'); return $helper($element); } return parent::render($element); }
/** * Render an element * * Introspects the element type and attributes to determine which * helper to utilize when rendering. * * @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 ''; } $type = $element->getAttribute('type'); if (!empty($type)) { $pm = $renderer->getHelperPluginManager(); if ($pm->has('form_' . $type)) { $helper = $pm->get('form_' . $type); return $helper($element); } } return parent::render($element); }
/** * render * * Render a single form element. * * @param ElementInterface $element The form element that 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); } $errorHtml = null; $helpTextHtml = null; $labelHtml = null; /** @var FormElementErrors $errorHelper */ $errorHelper = $this->elementErrorsHelper; if ($errorHelper) { if ($this->getOption('display_error_messages', true)) { $errorHtml = $errorHelper($element); } $helpText = $this->getOption('help_text'); if (empty($errorHtml) && !empty($helpText)) { $helpTextHtml = $errorHelper->renderMessage($helpText, HelpText::TEXT_INFO); } } if ($this->getOption('render_errors', true)) { $errorHtml = $errorHelper($element); } if ($this->getOption('render_label', true) && $element instanceof LabelAwareInterface && !$element instanceof Hidden) { /** @var Callable $labelHelper */ $labelHelper = $this->labelHelper; $labelHtml .= $labelHelper($element); } // Input HTML $elementHtml = $this->elementHelper->render($element); // Optional wrapping tag around element $elementWrapper = $this->elementWrapper; if ($elementWrapper && $elementWrapper->hasAttribute('class') && false !== $this->getOption('element_wrapper')) { $elementHtml = $elementWrapper($elementHtml); } // Compose the label, element and any error HTML $html = $this->renderHtml($elementHtml, $labelHtml, $errorHtml); if (!empty($helpTextHtml)) { $html .= $helpTextHtml; } // Finally, an optional HTML wrapper of the completed string $groupHelper = $this->getGroupHelper(); if ($groupHelper) { return $groupHelper($html); } return $html; }
/** * Render an element * * {@inheritdoc} */ public function render(ElementInterface $element) { $renderer = $this->getView(); if (!method_exists($renderer, 'plugin')) { // Bail early if renderer is not pluggable return ''; } $type = $element->getAttribute('type'); if ($type) { if (false === strpos($type, '\\')) { $type = sprintf('form_%s', str_replace('-', '_', $type)); } $helper = $renderer->plugin($type); if ($helper) { return $helper($element); } } return parent::render($element); }
/** * @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 ''; } if ($element instanceof CoreElementInterface) { $helper = $element->getViewHelper(); if (is_string($helper)) { $helper = $renderer->plugin($helper); } if ($helper instanceof HelperInterface) { $helper->setView($renderer); } return $helper($element); } return parent::render($element); }
public function render(ElementInterface $element) { $renderer = $this->getView(); if (!method_exists($renderer, 'plugin')) { // Bail early if renderer is not pluggable return ''; } if ($element instanceof Rich) { $helper = $renderer->plugin('richelement'); return $helper($element); } elseif ($element instanceof Img) { $helper = $renderer->plugin('imgelement'); return $helper($element); } elseif ($element instanceof File) { $helper = $renderer->plugin('fileelement'); return $helper($element); } return parent::render($element); }
public function render(ElementInterface $element) { $renderer = $this->getView(); if (!method_exists($renderer, 'plugin')) { // Bail early if renderer is not pluggable return ''; } if ($element instanceof CoreElementInterface) { $helper = $element->getViewHelper(); if (is_string($helper)) { $helper = $renderer->plugin($helper); } return $helper($element); } // $type = $element->getAttribute('type'); // if ('checkbox' == $type) { // $helper = $renderer->plugin('formcheckbox'); // return $helper($element); // } return parent::render($element); }
/** * Render an element * * @param ElementInterface $oElement * @return string */ public function render(ElementInterface $oElement) { // Add form-controll class $sElementType = $oElement->getAttribute('type'); if (!in_array($sElementType, $this->options->getIgnoredViewHelpers()) && !$oElement instanceof Collection) { $sElementClass = $oElement->getAttribute('class'); if ($sElementClass) { if (!preg_match('/(\\s|^)form-control(\\s|$)/', $sElementClass)) { $oElement->setAttribute('class', trim($sElementClass . ' form-control')); } } else { $oElement->setAttribute('class', 'form-control'); } } $sMarkup = parent::render($oElement); // Addon prepend $aAddOnPrepend = $oElement->getOption('add-on-prepend'); if ($aAddOnPrepend) { $sMarkup = $this->renderAddOn($aAddOnPrepend) . $sMarkup; } // Addon append $aAddOnAppend = $oElement->getOption('add-on-append'); if ($aAddOnAppend) { $sMarkup .= $this->renderAddOn($aAddOnAppend); } if ($aAddOnAppend || $aAddOnPrepend) { $sSpecialClass = ''; // Input size $sElementClass = $oElement->getAttribute('class'); if ($sElementClass) { if (preg_match('/(\\s|^)input-lg(\\s|$)/', $sElementClass)) { $sSpecialClass .= ' input-group-lg'; } elseif (preg_match('/(\\s|^)input-sm(\\s|$)/', $sElementClass)) { $sSpecialClass .= ' input-group-sm'; } } return sprintf(self::$inputGroupFormat, trim($sSpecialClass), $sMarkup); } return $sMarkup; }
/** * Render an element * @param \Zend\Form\ElementInterface $oElement * @return string */ public function render(\Zend\Form\ElementInterface $oElement) { // Add form-controll class $sElementType = $oElement->getAttribute('type'); if (!in_array($sElementType, array('file', 'checkbox', 'radio', 'submit', 'multi_checkbox', 'static', 'button', 'reset')) && !$oElement instanceof \Zend\Form\Element\Collection) { if ($sElementClass = $oElement->getAttribute('class')) { if (!preg_match('/(\\s|^)form-control(\\s|$)/', $sElementClass)) { $oElement->setAttribute('class', trim($sElementClass . ' form-control')); } } else { $oElement->setAttribute('class', 'form-control'); } } $sMarkup = parent::render($oElement); // Addon prepend if ($aAddOnPrepend = $oElement->getOption('add-on-prepend')) { $sMarkup = $this->renderAddOn($aAddOnPrepend) . $sMarkup; } // Addon append if ($aAddOnAppend = $oElement->getOption('add-on-append')) { $sMarkup .= $this->renderAddOn($aAddOnAppend); } if ($aAddOnAppend || $aAddOnPrepend) { $sSpecialClass = ''; // Input size if ($sElementClass = $oElement->getAttribute('class')) { if (preg_match('/(\\s|^)input-lg(\\s|$)/', $sElementClass)) { $sSpecialClass .= ' input-group-lg'; } elseif (preg_match('/(\\s|^)input-sm(\\s|$)/', $sElementClass)) { $sSpecialClass .= ' input-group-sm'; } } return sprintf(self::$inputGroupFormat, trim($sSpecialClass), $sMarkup); } return $sMarkup; }
public function render(ElementInterface $element) { $type = $element->getAttribute('type'); if ($type == 'multi_checkbox' || $type == "radio") { $aOptions = $element->getValueOptions(); $aAtributes = $element->getOptions(); $aClasse = $element->getAttributes(); $aClasse = explode(" ", @$aClasse["class"]); $sType = $type; $selected = $element->getValue(); $disabled = $element->getAttribute("disabled"); foreach ($aOptions as $sKey => $aOption) { if (is_scalar($aOption)) { $aOption = array('label' => " " . $aOption, 'value' => $sKey); } $aOption['label_attributes'] = array(); $classe = ""; if (!in_array("not-bootstrap", $aClasse)) { $classe = "btn btn-default "; if ($type == "multi_checkbox") { if (@in_array($sKey, $selected)) { $classe .= "active"; } } else { if ($type == "radio") { if ($sKey == $selected) { $classe .= "active"; } } } } if (in_array("not-bootstrap", $aClasse)) { $classe .= "not-bootstrap"; } if ($disabled) { $classe .= " disabled"; } if (empty($aOption['label_attributes']['class'])) { $aOption['label_attributes']['class'] = trim($classe); } elseif (!preg_match('/(\\s|^)' . preg_quote($classe) . '(\\s|$)/', $aOption['label_attributes']['class'])) { $aOption['label_attributes']['class'] .= trim(' ' . $classe); } if (isset($aAtributes['data'])) { foreach ($aAtributes['data'] as $key => $value) { $aOption['label_attributes']['data-' . $key] = $value[$sKey]; } } if ($disabled) { if ($type == "multi_checkbox") { if (@in_array($sKey, $selected)) { $aOptions[$sKey] = $aOption; } else { unset($aOptions[$sKey]); } } else { if ($type == "radio") { if ($sKey == $selected) { $aOptions[$sKey] = $aOption; } else { unset($aOptions[$sKey]); } } } } else { $aOptions[$sKey] = $aOption; } } $element->setValueOptions($aOptions); if (!in_array("not-bootstrap", $aClasse)) { return sprintf('<div><div class="btn-group" data-toggle="buttons">%s</div></div>', parent::render($element)); } else { return sprintf('<div>%s</div>', parent::render($element)); } } return parent::render($element); }
/** * Render a form <input> element from the provided $element * * @param ElementInterface $element * @throws Exception\DomainException * @return string */ public function render(ElementInterface $element) { $this->renderer->preRenderInputField($element); return parent::render($element); }