Как добавить фильтр и быстрый поиск в ATK $ CRUD - PullRequest
1 голос
/ 18 сентября 2011

У меня есть страница в ATK4, которая выглядит так

<?php

class page_backlog extends Page
{

    function init()
    {
        parent::init();
        $p = $this;

        $logged_in_users_team = $p->api->getTeamID();
        $s = $p->add('Model_BacklogStory');
        $s->addCondition('team_id', $logged_in_users_team);
        $s->addCondition('side_task', 0);

        $crud = $p->add('CRUD');
        $c = $crud->setModel($s, null, array('description', 'backlog_ref', 'points', 'priority_no'));

        if ($c->grid) {
            $c->grid->last_column = 'points';
            $c->grid->getColumn('points')->makeSortable();
            $c->grid->addQuickSearch(array('description', 'backlog_ref'));
        }
    }

}

с кодом, взятым из документации agiletoolkit

Сетка отображается, но ссылки быстрого поиска и сортировки в поле точек не отображаются. Вместо этого в верхней части страницы есть ошибка

C: \ wamp \ www \ test1 \ page / backlog.php: 16 [8] Неопределенное свойство: Controller :: $ grid

Где строка 16 if($c->grid){

Какие-нибудь предложения относительно того, что я пропустил?

1 Ответ

1 голос
/ 18 сентября 2011

да.

$c=$crud->setModel($s, null, array('description', 'backlog_ref', 'points','priority_no'));

из-за этого $ c становится моделью, и из этой строки $ c не ссылается на crud. поэтому используйте либо if ($crud->grid), либо добавьте строку $c = $crud;

...