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
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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
Share on other sites
2 часа назад, Fantik сказал:

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

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

Share this post


Link to post
Share on other sites

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

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

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

  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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...