Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
vinegredz

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

Recommended Posts

Привет всем.

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

  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.

Share this post


Link to post

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

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

 

Share this post


Link to post

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

Share this post


Link to post
23.02.2020 в 11:36, newbie сказал:

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


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

 

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

Share this post


Link to post
2 часа назад, Fantik сказал:

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

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

Share this post


Link to post

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

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

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

  • Like 1

Share this post


Link to post

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

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...