【发布时间】:2014-09-02 15:23:32
【问题描述】:
我正在创建自定义视图助手。我想知道如何在我自己的视图助手中使用 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();
}
}
当 i 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 的目的。
【问题讨论】:
标签: zend-framework2 zend-form view-helpers