Как добавить форму в CompleteLister ATK4

Я хочу добавить простую форму в каждую строку 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();
    }

}
?>

`Но это не работает. Что я делаю не так?

Спасибо.

1 ответ

Форма - это деликатный вид, и она должна правильно сидеть в дереве визуализации. Вот как вы могли бы реализовать это лучше:

  1. вручную пройтись по модели
  2. внутри итерации добавьте представление с содержанием строки вашего списка
  3. добавить новую форму внутри тэга comm, используя 3-й аргумент add()

Это должно работать намного лучше.

Другие вопросы по тегам