public function render() { $fields = array(); $content = parent::render(); foreach ($this->describeWidgets as $widget) { if (!$widget->hasAttribute('do')) { continue; } $name = $widget->getAttribute('name'); $value = $widget->getAttribute('value'); $whatToDo = $widget->getAttribute('do'); if (in_array($whatToDo, array('textInput', 'button'))) { $label = $widget->getAttribute('label', $this->translate($name . '_label')); } elseif (in_array($whatToDo, array('checkBox', 'radioButton', 'fieldsetSwitch'))) { $label = $widget->getAttribute('label', $this->translate($name . '_' . $value . '_label')); } $id = $this->view->getUniqueId($name); $fields[] = array('name' => $name, 'id' => $id, 'helpId' => $widget->getAttribute('helpId', $name), 'label' => $label); } $view = $this->view->spawnView($this->view->getModule()); $view->setTemplate('Nethgui\\Template\\Help\\Section'); $view['title'] = $this->getTitle(); $view['description'] = $this->getDescription(); $view['fields'] = $fields; $view['titleLevel'] = $this->nestingLevel; $headingRenderer = parent::spawnRenderer($view)->render(); return (string) $headingRenderer . $content; }