2011-09-18 2 views
1

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')); 
     } 
    } 

} 

에서 가져온 코드가 포함 된 페이지가 있습니다. 그리드는 표시되지만 포인트 필드의 정렬 및 정렬 링크는 표시되지 않습니다. 대신 페이지 상단에 오류가 있습니다.

C : \ wrap \ www \ test1 \ page/backlog.php : 16 [8] 정의되지 않은 속성 : Controller :: $ grid

여기서 16 행은 if($c->grid){입니다.

무엇을 놓쳤는가에 대한 제안은 무엇입니까?

답변

1

예.

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

이렇게하면 $ c가 모델이되고이 줄부터 $ c는 crud를 참조하지 않습니다. 그러므로 if ($crud->grid)을 사용하거나 라인을 추가하십시오. $c = $crud;

+0

사실 $ c는 컨트롤러이지만 투명하기 때문에 모델로 사용할 수 있습니다. – romaninsh

+0

if ($ crud-> grid)를 사용하여 "존재하지 않는 필드의 값을 얻으려고합니다 : q"는 모델에 의해 만들어진 쿼리를 보지 못함을 나타냅니다. $ c를 사용하기 위해 변경하기 전에 시도했습니다. 후자는 그리드를 표시합니다 - 빠른 검색 또는 정렬 링크가 아닙니다 –

+0

또한 나열된 네 열 모두가 모델에 있으므로이 아이디어를 얻으려면 다른 아이디어가 있습니까? –

관련 문제