public function render(ElementInterface $oElement)
{
// Add form-controll class
$sElementType = $oElement->getAttribute('type');
if (!in_array($sElementType, $this->options->getIgnoredViewHelpers()) && !$oElement instanceof 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;
}