в админке бус, по аналогии с "Правила работы с корзиной". Все шикарно: поля, отображение и т.д. Но как только применяю сортировку или фильтр (после аякс запроса) - просто пустая таблица. По коду, отвечает b_user_option, сохраняю через Bitrix\Main\Grid\Options SetColumns, потом save. В базе есть, но все равно пустая. Что я забываю?
А при чем тут хранилище настроек? Обработку фильтра и сортировки сделали в коде своей страницы? И что именно возвращает аякс - пусто или ошибку?
Да. Сортировка и фильтры срабатывают после перезагрузки.
Ни то, ни другое. Возвращали {"views":{"default":{"columns":"","columns_sizes":{"expand":1,"columns":[]},"sticked_columns":[],"last_sort_by":"ACTION","last_sort_order":"asc"}},"filters":[],"current_view":"default"} Сравнивая результаты, единственным отличием было лишь наличие columns из настроек.
Там html должен быть в ответе, насколько я помню
Выключи фильтр по ид
Набросал простенькую табличку - сейчас попробую
Добавил табличку с тремя простыми колонками - также. Отключение ID в фильтре не помогло. Он отправляет два запроса, первый на /bitrix/components/bitrix/main.ui.grid/settings.ajax.php?GRID_ID=\Bunio\Kit\Tables\Example, в котором и возвращает {"views":{"default":{"columns":"ID,NAME,ACTIVE","columns_sizes":{"expand":1,"columns":[]},"sticked_columns":[],"last_sort_by":null,"last_sort_order":null}},"filters":[],"current_view":"default"} Namespace верный.
Да не интересует сохранение настроек. Что во втором ответе?
Хм, второй запрос на /bitrix/services/main/ajax.php?analyticsLabel, в нем ругается на csrf. {"status":"error","data":null,"errors":[{"message":"Invalid csrf token","code":"invalid_csrf","customData":{"csrf":"0227b91464b34ab78e90805e60d187a9"}}]}
И зачем такой GRID_ID - со слешами?
А как можно задать алиас? В случае той же таблицы со скидками вижу название tbl_sale_discount, но не пойму где он задается
Вы писали, что должен вернуть html? Сейчас на /bitrix/services/main/ajax.php больше не отправляет, есть на себя же запрос, но он возвращает результат со строкой
При инициализации объекта грида. Или вы напрямую main.ui.grid используете?
Нормальный результат. Смотрите, что у вас getList возвращает при аякс-обращении к странице.
Смотрите, что у вас getList возвращает при аякс-обращении к странице - не совсем понял как проверить
Верно. Он (идентификатор) должен содержать только латиницу, цифры и подчеркивание.
Руками отладку в файл вставить на странице.
Именно в этом и была проблема) Он повторно экранировал обратные слеши, что и приводило к разнице в id. Спасибо!
Обсуждают сегодня