В учебном пособии по Agile Toolkit (Jobeet) я настроил быструю модель данных (стр. 3), и она хорошо выглядит на тестовой странице CRUD. Я попытался изменить строку кода в файле test.php. Проблема в том, что когда я добавил пагинатор, строку кода, данные в сетке исчезли. Является ли это ограничением для класса paginator? Есть ли быстрый способ разбить эту пользовательскую сетку на страницы? Спасибо.
Исходный код отображает ошибку «метод не определен» при добавлении addPaginator, как показано ниже:
$this->add('CRUD')->setModel('Category');
//$this->add('CRUD')->setModel('Job');
$jobCRUD=$this->add('CRUD');
$jobCRUD->setModel('Job');
$jobCRUD->addPaginator(3); //This line causes an method not defined error
Модифицированный код с использованием setSource не отображает ошибку, а отображает пустую сетку:
class page_test extends Page {
function init(){
parent::init();
//$this->add('CRUD')->setModel('Category'); //Not needed for my example
$grid=$this->add('Grid');
//$grid->setModel('Job'); //Removed this to show custom columns
$grid->addColumn('id');
$grid->addColumn('type');
$grid->addColumn('position');
$grid->setSource('job');
$grid->addPaginator(3); //Added this to paginate the results (doesn't work & removes data)
}
}
Решение:
$this->add('CRUD')->setModel('Category');
//$this->add('CRUD')->setModel('Job');
$jobCRUD=$this->add('CRUD');
$jobCRUD->setModel('Job');
$jobCRUD->grid->addPaginator(3); // This fixed the paginator