根据这篇文章:Zend Framework 2 - Form Element Decorators,我已经尝试了 iroybot 的解决方案(感谢他)并且它有效。但出现了新问题。这里有详细信息:
在 FormCollection.php(View Helper)的渲染方法中,我抛出这样的对象:
<?php
namespace Cust\View\Helper;
use Zend\Form\ElementInterface;
use Zend\Form\View\Helper\FormCollection as BaseFormCollection;
class FormCollection extends BaseFormCollection
{
public function render(ElementInterface $element)
{
return sprintf('<table class="table table-condensed">%s</table>',parent::render($element));
}
}
在 FormElement.php(View Helper)的 render 方法中,我抛出:
<?php
namespace Cust\View\Helper;
use Zend\Form\ElementInterface;
use Zend\Form\View\Helper\FormElement as BaseFormElement;
class FormElement extends BaseFormElement
{
public function render(ElementInterface $element)
{
$req = '';
if($element->getOption('required')){
$req = 'required';
}
return sprintf('<tr><td>%s</td><td>%s</td> </tr>',$element->getLabel(),parent::render($element));
}
}
表格完美呈现在表格中。但在表格之前,标签显示在标签标签中。所以标签显示两次,第一次在跨度标签中,第二次在表格的行中......
我不知道如何解决这个..
请给我建议..谢谢
此致