Как подключить pagebar в админку 2.1.2

 
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1168
Может Администраторы ответят или есть уже люди, которые подключили pagebar в админку?
Вообщем вывожу данные из БД с помощью grids - всё делаю на примере компонента Контент, pagebar появляется но при нажатии нечего не происходить, может есть какие нибудь секреты которые я пропустил?)

Как подключить pagebar в админку 2.1.2
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3589
Evanescence:
может есть какие нибудь секреты которые я пропустил?
Я себе подключал pagebar в админке на своём компоненте. Столкнулся с такими "секретами" при которых тоже не работало. Выяснил, что основное дело в опциях grid Я нашёл их столько
Код PHP:
  1.  
  2. $options = array(
  3. 'is_auto_init' => true,
  4. 'is_sortable' => true,
  5. 'is_filter' => true,
  6. 'is_pagination' => true,
  7. 'is_draggable' => false,
  8. 'is_selectable' => false,
  9. 'order_by' => 'id',
  10. 'order_to' => 'asc',
  11. 'show_id' => true
  12. );
  13.  
так вот если 'is_draggable' = false, то 'order_by' должно быть равно чему-то, кроме 'ordering', например 'id',
и соответственно в функциях обработки grid
должно быть что-то такое
Код PHP:
  1.  
  2. $filter = array();
  3. $filter_str = $inCore->request->get('filter');
  4. if ($filter_str){
  5.  
  6. parse_str($filter_str, $filter);
  7. $iforms_model->applyGridFilter($grid, $filter);
  8.  
  9. }
  10.  
  11. $total = $iforms_model->getFormsCount();
  12.  
  13. $perpage = isset($filter['perpage']) ? $filter['perpage'] : iforms::perpage;
  14. $pages = ceil($total / $perpage);
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1168
Loadырь, А можете полный код показать?)
вот что у меня:
файл \system\controllers\statusi\backend\actions\statusi_ajax.php
Код PHP:
  1. class actionStatusiStatusiAjax extends cmsAction {
  2.  
  3. public function run($id) {
  4. if (!$this->request->isAjax()) {cmsCore::error404();}
  5. $grid = $this->loadDataGrid('statusi');
  6. $model = cmsCore::getModel('statusi');
  7. $model->select('i.id, i.text');
  8. $model->OrderBy('i.id', 'DESC');
  9. $items = $model->getStatusi((int)$id);
  10.  
  11. $filter = array();
  12. $filter_str = $inCore->request->get('filter');
  13. if ($filter_str){
  14. parse_str($filter_str, $filter);
  15. $model->applyGridFilter($grid, $filter);
  16. }
  17. $total = $model->getStatusiCount((int)$id);
  18. $perpage = isset($filter['perpage']) ? $filter['perpage'] : statusi::perpage;
  19. $pages = ceil($total / $perpage);
  20.  
  21. cmsTemplate::getInstance()->renderGridRowsJSON($grid, $items, $total, $pages);
  22. $this->halt();
  23. }
  24.  
  25. }
Только не понял откуда взялся функция applyGridFilter() и надо ли ее создать в модели?

Вот Options из файла system\controllers\statusi\backend\grids\grid_statusi.php

Код PHP:
  1. $options = array(
  2. 'is_auto_init' => true,
  3. 'is_sortable' => true,
  4. 'is_filter' => true,
  5. 'is_pagination' => true,
  6. 'is_draggable' => false,
  7. 'is_selectable' => false,
  8. 'order_by' => 'id',
  9. 'order_to' => 'asc',
  10. 'show_id' => true
  11. );
Только теперь на странице статусы т.е. в gird нечего не отображается
Редактировалось: 1 раз (Последний: 21 декабря 2014 в 18:05)
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3589
Evanescence:
Только теперь на странице статусы т.е. в gird нечего не отображается
smile - всё правильно.
вот мой кусок кода из такого же файла -
Спойлер
Evanescence:
откуда взялся функция applyGridFilter() и надо ли ее создать в модели?
она подтягивается сама отсюда - \system\core\model.php - строка 1350

а по вашему коду, не понял зачем вы делаете выборку
Код PHP:
  1.  
  2. $model->select('i.id, i.text');
  3. $model->OrderBy('i.id', 'DESC');
  4.  
когда она берётся из $grid
И желательно переменную
Код PHP:
  1. $items = $model->getStatusi((int)$id);
получать перед самым выводом в шаблон, после применения фильтров.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1168
Loadырь, Спасибо, всё получилось smile
Проблема решена!!!
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: