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

Почему не работает фильтрация в таблице?

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

Здравствуйте.

Я делаю вот такой порядок действий:

  1. Создал новую страницу
  2. Добавил в нее генерацию таблицы вот так:
    {{$table = new \IPS\Helpers\Table\Content('IPS\cms\Records2', $record->url(), array( array('field_165 = ?', $record->_id) ));}}
    {$table|raw}

     

  3. Добавил две ссылки, чтобы сделать сортировку:
    <a href="{expression="\IPS\Request::i()->url()->setQueryString( array( 'advanced_search_submitted' => 1, 'content_field_14' => 0 ) )->csrf()"}">
      Only Films
    </a>
    <a href="{expression="\IPS\Request::i()->url()->setQueryString( array( 'advanced_search_submitted' => 1, 'content_field_14' => 1 ) )->csrf()"}">
      Only Actors
    </a>

Проверил, чтобы в базе ID2 было поле с field_14. Пробовал указывать массив 'content_field_14[1]' => 1, но работать эту конструкция не хочет. Чего тут не хватает?

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


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

Не вижу у Вас ничего, связанного с field_14, при создании таблицы

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


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

Если я правильно понял намек, то я попробовал добавить:

{{$table->sortOptions = array( 'field_14' );}}

Но это не помогло. Или вы имели ввиду менять $where? Если да, то я думал, что у Table\Content есть обработчик (ведь все работает для виджета фильтра базы данных же).

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


Ссылка на сообщение
7 минут назад, vinegredz сказал:

ведь все работает для виджета фильтра базы данных же

Там значения записываются в куки. А после на странице категории эти куки проверяются, и формируется $where

10 минут назад, vinegredz сказал:

Или вы имели ввиду менять $where?

Да

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


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

А, понял. Тогда вот решение для тех, кто будет после меня:

{{if \IPS\Request::i()->content_field_14}}
{{$where = array( array( 'field_14=? and field_165=?', \IPS\Request::i()->content_field_14, $record->_id ) );}}
{{else}}
{{$where = array( array( 'field_165=?', $record->_id ) );}}
{{endif}}

{{$table = new \IPS\Helpers\Table\Content('IPS\cms\Records2', $record->url(), $where);}}
{$table|raw}

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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