Я создаю помощник пользовательского представления. и я хочу знать, как я могу использовать formElement "Zend\Form\View\Helper\FormElement" в моем собственном вспомогательном представлении. Вот мой код.
use Zend\Form\ElementInterface;
use Zend\Form\FieldsetInterface;
use Zend\Form\View\Helper\FormElement;
use Zend\Form\View\Helper\AbstractHelper;
use Zend\View\Renderer\PhpRenderer;
class JudgeCareerViewHelper extends AbstractHelper {
private $output;
public function __invoke($formCollection) {
foreach ($formCollection as $elementOrFieldset) {
if ($elementOrFieldset instanceof FieldsetInterface) {
$obj = new FormElement();
$this->output .= $obj($elementOrFieldset->get('startServiceDate'));
} elseif ($elementOrFieldset instanceof ElementInterface) {
//set element markup
echo 'element';
}
};
echo $this->output;
die();
}
}
Когда я echo
, выходной сигнал от FormElement
пуст. Поэтому я открыл библиотеку Zend "Zend\Form\View\Helper\FormElement", чтобы узнать, в чем проблема. Итак, я обнаружил, что ниже код возвращается пустым. Я не знаю, какова цель $renderer = $this->getView();
и как получить представление.
$renderer = $this->getView();
if (!method_exists($renderer, 'plugin')) {
// Bail early if renderer is not pluggable
return '';
}
Цель создания пользовательского помощника представления для создания моей собственной разметки (HTML) вместо zend buitin html.