【问题标题】:Zend Form Decorators for special tableZend Form Decorators 用于特殊表
【发布时间】:2011-10-05 15:25:20
【问题描述】:

如何从我的 ZEND_FORM 中获取此表?

<table>
    <tr>
        <th>label 1</th>
        <th>label 2</th>
    </tr>
    <tr>
        <td>form element 1</td>
        <td>form element 2</td>
    </tr>
</table>

这就是我所拥有的。但这是不正确的。

$kinder_decorators = array(
        'ViewHelper', 
        'Errors',

        array('Label', array('tag' => 'th')),
        array(array('data' => 'HtmlTag'), array('tag' => 'td'))


    );

有人可以帮忙吗?

BR 马特

【问题讨论】:

    标签: zend-framework zend-form zend-form-element


    【解决方案1】:

    恐怕您需要在整个表单上使用ViewScript decorator。 ViewScript 装饰器为更复杂的表单元素布局提供了更大的灵活性。

    请参阅my answer here 以获取一个小示例。如果不清楚,请给我留言,我会在这里稍微扩展一下。

    【讨论】:

    • 如果可能的话,你能解释一下,关于我需要什么吗?蒂亚
    • @frgtv10:您对示例的哪一部分有疑问?
    【解决方案2】:

    你无法实现这种类型的结构。由于不可能将两个不同的标签包装在同一行内,而将两个不同的表单元素包装在另一行内。你的标记不正确,顺便说一句你应该这样做

    <tr><td>label1</td><td>form element 1</td></tr>
    <tr><td>label2</td><td>form element 2</td></tr>
    
    $kinder_decorators = array(
            'ViewHelper', 
            'Errors',
    array(array('content' => 'HtmlTag'), array('tag' => 'td'))
    array('Label', array('tag' => 'th')),
    array(array('data' => 'HtmlTag'), array('tag' => 'tr'))
    
    
        );
    

    【讨论】:

    • 他的表格标记很好(如果你指的是那个)。
    • 看到问题是当使用装饰标签和表单元素一起成为一个实体时,它们不能像他发布的标记那样分开。
    • 我同意这一点,但这当然不会使他的表格标记不正确;只是不容易用表单元素装饰器重现(如果有的话,确实如此)。
    猜你喜欢
    • 2011-04-17
    • 2014-07-03
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多