2

我想为 CompleteLister 的每一行添加一个简单的表单。我试过这个:

<?php
class page_list extends Page {
    function init(){
        parent::init();

        $l = $this->add('Lister_Comment',null,'comm_list_spot','comm_list_spot');
        $l->setModel('Comment');
    }
    function defaultTemplate(){
        return array('view/comment_list');
    }
}
class Lister_Comment extends CompleteLister {
    function formatRow(){
        parent::formatRow();

        $f = $this->add('Form');
        $f->addField('line','com_text');
        $f->addSubmit();
        $this->current_row_html['commm'] = $f->getHTML();
    }

}
?>

` 但它不起作用。我做错了什么?

谢谢你。

4

1 回答 1

0

表单是一个微妙的视图,它需要正确地放在渲染树中。以下是如何更好地实现这一点:

  1. 手动迭代模型
  2. 在迭代内部,添加一个包含列表行内容的视图
  3. 使用 add() 的第三个参数在 comm 标记内添加一个新表单

这应该会更好。

于 2013-04-16T16:09:21.020 回答