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

Аватар пользователя KorDs

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

На данный момент получилось реализовать с выводом всех нод, привязанных к нужному словарю, а их в шаблоне пересобираю в уникальный массив, из которого строю нужные термины. Это очень криво, но никак не разберусь в правильной выборке через модуль views.

Модули и темы:
Тип материала:
Версия Drupal:
0 Thanks

Лучший ответ

Аватар пользователя gun_dose
gun_dose 10 месяцев назад
1

Забудьте про контекстный фильтр, он тут не нужен. Делайте просто вьюс по терминам с обязательной связью "характерный материал термина". И всё.

Комментарии

Аватар пользователя Phantom63rus
Phantom63rus 10 месяцев назад

Менюшку что-ли создать?

Аватар пользователя KorDs
KorDs 10 месяцев назад

Нет, термин - это категория объекта. Объекта - это нода. Вывести категории этих объектов, содержащие более одного объекта. Соответственно иметь на странице доступ к объектам этой категории. Те будет видна как сама категория, так и объекты категории.

Аватар пользователя Phantom63rus
Phantom63rus 10 месяцев назад

Тогда в фильтрах агрегацию по количеству.

Аватар пользователя KorDs
KorDs 10 месяцев назад

Ну вот добавил в Критерии фильтрации фильтр по содержимое ноды - связь с полем, оператор - NOT NULL. Выбирает ноды в таком случае, а как выбирать именно термины под необходимое условие?

Аватар пользователя Phantom63rus
Phantom63rus 10 месяцев назад

Я бы сделал так:

1. Создал представление выводящее термины.
2. Добавил в связь материал.
3. В фильтрах агрегацию на количество.
4. В поле собственно термин и заголовки нод.
5. Неформатированный список и группировка по термину.

Могу просто взять и сделать за небольшую денюжку на пиво.

Аватар пользователя KorDs
KorDs 10 месяцев назад

Спасибо, попробую пока сам разобраться, а там посмотрим :)

Аватар пользователя gun_dose
gun_dose 10 месяцев назад

Добавьте в связях "характерный материал термина" и поставьте галочку, что она обязательная.

Аватар пользователя KorDs
KorDs 10 месяцев назад

Спасибо, попробую

Аватар пользователя KorDs
KorDs 10 месяцев назад

Я не очень понимаю, что за контекстный фильтр? Что в нем не включить - если поставить в отсутствие результата выводить все результаты - он всегда выводит ВСЕ ноды сайта.

Аватар пользователя gun_dose
gun_dose 10 месяцев назад
1

Забудьте про контекстный фильтр, он тут не нужен. Делайте просто вьюс по терминам с обязательной связью "характерный материал термина". И всё.

Аватар пользователя KorDs
KorDs 10 месяцев назад

Класс, если добавить эту связь то отсеивается термин, к которому не привязана ни одна нода. А я с контекстным фильтром мучился, спасибо большое за совет, это помогло!