Zend Framework 2中的自定义装饰器标签

时间:2013-08-24 00:39:44

标签: forms zend-framework2 label zend-decorators

根据这篇文章:Zend Framework 2 - Form Element Decorators,我已经尝试过iroybot的解决方案(感谢他)并且它有效。 但是出现了新的问题。详情如下:

在FormCollection.php(View Helper)的render方法中,我抛出这样的对象:

<?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));

}
}

并且表格在表格中完美呈现。但在表格之前,标签显示在标签标签中。所以标签显示两次,第一次在span标签中,第二次在表格的行中......

我不知道如何解决这个问题。

请给我建议.. 感谢

bestregards

0 个答案:

没有答案