randomizex
@randomizex
http://resume.web-ivan.ru

Как вызывать пагинацию для своего orm объекта в админке сайта?

Делаю кастомную страницу в админке.
Никак не получается заставить пагинацию работать.
Код страницы
<?
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
$adminPage->Init();
$adminMenu->Init($adminPage->aModules);
if(empty($adminMenu->aGlobalMenu))
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
$APPLICATION->SetAdditionalCSS("/bitrix/themes/".ADMIN_THEME_ID."/index.css");
$APPLICATION->SetTitle("Заголовок страницы");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

$nav = new \Bitrix\Main\UI\AdminPageNavigation("my_table_id");
$cultureList = Custom\Orm\MyLogTable::getList([
        'order'=>['ADD_DATE_TIME'=>'DESC'],
    'count_total' => true,
    'limit' => $nav->getLimit(),
    'offset' => $nav->getOffset()]);
$nav->setRecordCount($cultureList->getCount());
?>
    <table class="adm-list-table">
        <tbody>
        <? while ($item = $cultureList->fetch() ) {?>
           <!--Карточки объектов-->
        <?}?>
        </tbody>
    </table>
<?
$APPLICATION->IncludeComponent(
    "bitrix:main.pagenavigation",
    "admin",
    array(
        "NAV_OBJECT" => $nav,
        "TABLE_ID" => "my_table_id",
        "SEF_MODE" => "N",
        "SHOW_COUNT" => "Y",
    ),
    false
);
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_admin.php");
?>

В итоге вижу Пагинацию и даже число страниц верное но она не работает. При клике выдает js ошибка.
Uncaught ReferenceError: my_table_id is not defined at HTMLAnchorElement.onclick

Ошибки при инициализации
60e2b75c68eba986234309.png
Ошибки при клике
60e2b78df3278566810661.png
  • Вопрос задан
  • 597 просмотров
Пригласить эксперта
Ответы на вопрос 2
randomizex
@randomizex Автор вопроса
http://resume.web-ivan.ru
Как "Так себе" решение помогло сменить шаблон на '.default' и "SEF_MODE" => "N"
а числом элементов на странице можно управлять через $nav->setPageSize().
Ответ написан
Комментировать
@tgarl
Я еще прописывал вызовы
$nav = new \Bitrix\Main\UI\PageNavigation("nav-more-notice");
$nav->allowAllRecords(true)
   ->setPageSize(15)
   ->initFromUri();

и убрать в навигации "TABLE_ID" => "my_table_id",
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы