Вывод определенных node по id, с учетом критерий фильтрации

Главные вкладки

Аватар пользователя KorDs KorDs 20 марта 2018 в 19:25

Возникла проблема, имеется вывод нод в разделе, в разделе так же настроен фильтр. Реализавано все через компонент views. Так вот, необходимо, среди прочего как то учитывать в фильтре, что вывод должен фильтроваться по определенному массиву, содержащему доступные для вывода nid + критерии фильтра. И все бы ничего, можно было бы просто исключить из результата в файле вывода лишние ноды по id, но в файле вывода доступен лишь результат вывода одной страницы пагинации, работать с ним не получится.

Какие тут могут быть решения?

Комментарии

Аватар пользователя gun_dose gun_dose 20 марта 2018 в 19:33
1

Контекстный фильтр по nid.
Но есть одно НО: поскольку этот фильтр передаётся в запрос, он не может быть слишком длинным. Когда в фильтре пару сотен айдишников, то словите фатал эррор.

Посему стоит задуматься над постановкой самой задачи - правильнее будет завести в нодах поле с признаком необходимости вывода и фильтровать по этому полю.

Аватар пользователя KorDs KorDs 20 марта 2018 в 21:53

Нужно передавать найденные на карте объекты на новую страницу Smile Поэтому остается только их nid передавать. А если POSTом попробовать ?
И подскажите пожалуйста, после настройки контекстного фильтра, в каком формате передавать nid в URL ?

Аватар пользователя gun_dose gun_dose 21 марта 2018 в 6:51

Имеется в виду sql-запрос, поэтому пост или гет тут роли не играет. А множественный аргумент передаётся через плюс. Т.е. типа 1+2+3+4

Аватар пользователя sas@drupal.org sas@drupal.org 21 марта 2018 в 9:33
1

Я бы сделал по другому. Добавил бы поле entity reference на сущности которые надо выводить и в них использовал связь на нужный критерий отбора, тогда просто юзается контекстуальный фильтр по полю нужный сущностей а значение аргумента 1 берется из url. Простой пример отзывы на товары - не пихать в каждый товар ссыль на кучу отзывов а в отзыве указать для какого товара выводить, тогда чтобы вывести отзывы по товару через Views достаточно фильтра по id товара.