如何将过滤器和quicksearch添加到ATK $ CRUD

时间:2011-09-18 10:53:35

标签: php frameworks crud atk4

我在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 documentation

显示网格,但点字段上的quicksearch和sort链接不显示。 相反,页面顶部有一个错误

  

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

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

有关我错过的任何建议吗?

1 个答案:

答案 0 :(得分:1)

耶。

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

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