复合元素不起作用

时间:2011-09-13 23:35:53

标签: php zend-framework

我正在尝试按照Matthew O'Phinney的教程,但没有得到任何结果。

http://weierophinney.net/matthew/archives/217-Creating-composite-elements.html

我要做的就是创建一个由复选框和输入文本组成的复合元素。

new Zend_Form_Element_Checkbox();
new Zend_Form_Element_Text()

我的代码太复杂了,有很多评论进出,但没有任何工作。我相信这比这更容易,但我似乎走错了路。

2 个答案:

答案 0 :(得分:5)

这是一篇博客文章,向您展示如何创建一个包含2个或更多输入元素的表单元素(Zend_Form_Element实例)。

http://akrabat.com/zend-framework/a-zend-framwork-compount-form-element-for-dates/

您还可以使用子表单对多个元素进行分组 链接:http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.subforms

    $subform = new Zend_Form_SubForm();
    $subform->addElement('checkbox', 'status', array(
        'decorators' => array(
            'ViewHelper',
        )
    ));
    $subform->addElement('text', 'test', array(
        'label'      => 'Text',
        'decorators' => array(
            'ViewHelper',
            'Label'
        )
    ));
    $this->addSubForm($subform, 'subformname');

答案 1 :(得分:3)

我个人认为自己创建复合元素需要做很多工作。我需要一个文本框和一个选择菜单一起工作,并用ajax交叉验证用户id到该用户拥有的实体,元素,装饰器和验证器的php代码大约是200行代码,然后是40行查看使用viewHelper渲染复合元素的脚本。

我也遵循了这个教程,非常有帮助,但没有涵盖我需要的所有东西,所以我不得不做很多搜索。我决定使用复合元素,因为功能很关键并且在很多地方使用,但是如果它只是在一个表单上,我会将它实现为2个独立元素并编写简单的表单处理代码来关联元素。 / p>