Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
vinegredz

Не могу заставить работать quickSearch в таблице

Рекомендованные сообщения

Привет всем.

Хочу на сайте вывести продвинутую версию таблички с данными из базы данных с полем для быстрого поиска. Вот, что я сделал:

  1. Создал новую страницу
  2. Поместил туда такой код:
    {{$database = \IPS\cms\Databases::load( 1 );}}
    
    {{$table = new \IPS\Helpers\Table\Db( 'cms_custom_database_1', \IPS\Request::i()->url() );}}
    {{$table->tableTemplate = array(\IPS\cms\Theme::i()->getTemplate('contacts_super_listing', 'cms', 'database'), 'categoryTable');}}
    {{$table->rowsTemplate = array(\IPS\cms\Theme::i()->getTemplate('contacts_super_listing', 'cms', 'database'), 'recordRow');}}
    {{$table->langPrefix  = 'content_';}}
    {{$table->sortBy = $database->field_sort ? $database->field_sort : 'field_21';}}
    {{$table->sortDirection = $database->field_direction ? $database->field_direction : 'desc';}}
    
    {{$table->quickSearch = 'field_21';}}
    
    {{$table->include = array('primary_id_field','field_21');}}
    
    {{$table->parsers = array('field_21' => function( $val, $row ) use ($database) {$class = '\IPS\cms\Records1'; $val   = $class::load( $row['primary_id_field'] )->_title; return \IPS\Theme::i()->getTemplate( 'records', 'cms', 'admin' )->title( $row, $val );});}}
    
    {$table|raw}
  3. Создал шаблон для базы данных contacts_super_listing 
  4. В categoryTable скопировал код из applications/core/dev/html/admin/tables/table.html
  5. В recordRow скопировал код из applications/core/dev/html/admin/tables/rows.html

Табличка выводится, колонки корректные, сортировка по заголовку колонки работает, поле для quickSearch есть, но при вводе в него поискового запроса сайт не отправляет AJAX запросы для поиска. Подскажите, чего не хватает, чтобы он сгенерил JS код для quickSearch.

Поделиться сообщением


Ссылка на сообщение

Попробуйте добавить

\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js('mixins', 'global', 'admin' ) );

 

Поделиться сообщением


Ссылка на сообщение

Можно пример таких табличек посмотреть на ips?

Поделиться сообщением


Ссылка на сообщение
23.02.2020 в 11:36, newbie сказал:

Попробуйте добавить


\IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js('mixins', 'global', 'admin' ) );

 

Без изменений. Запросы не шлются, табличка не обновляется.

Поделиться сообщением


Ссылка на сообщение
2 часа назад, Fantik сказал:

Можно пример таких табличек посмотреть на ips?

Я за основу брал табличку списка пользователей из админки (records.php)

Поделиться сообщением


Ссылка на сообщение

Создайте js-файл в Pages

Скопируйте код из \dev\js\admin\mixins\ips.core.table.js

Подключите файл к странице

  • Like 1

Поделиться сообщением


Ссылка на сообщение

Мамма миа! Работает. Вы для меня прям новый чудный мир инструментов для разработчиков открыли. Раньше внесения изменений в фронте было достаточно. Спасибо!

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...