如何在ATK$ CRUD中添加过滤器和快速搜索


How to add filter and quicksearch to ATK$ CRUD

我在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文档

显示网格,但points字段上的快速搜索和排序链接不显示。相反,在页面的顶部有一个错误

C:'wamp'www'test1'page/backlog.php:16[8]未定义属性:Controller::$grid

第16行是if($c->grid){

有什么建议吗?

是的。

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

这使得$c成为一个模型,并且从这一行开始,$c不再引用crud。因此,使用if ($crud->grid)或添加行$c = $crud;