/** * Renders 'control' part of visual row of controls. * @param IFormControl * @return string */ public function renderControl(IFormControl $control) { $body = $this->getWrapper('control container'); if ($this->counter % 2) { $body->class($this->getValue('control .odd'), TRUE); } $description = $control->getOption('description'); if ($description instanceof NHtml) { $description = ' ' . $control->getOption('description'); } elseif (is_string($description)) { $description = ' ' . $this->getWrapper('control description')->setText($control->translate($description)); } else { $description = ''; } if ($control->isRequired()) { $description = $this->getValue('control requiredsuffix') . $description; } if ($this->getValue('control errors')) { $description .= $this->renderErrors($control); } if ($control instanceof NCheckbox || $control instanceof NButton) { return $body->setHtml((string) $control->getControl() . (string) $control->getLabel() . $description); } else { return $body->setHtml((string) $control->getControl() . $description); } }