Подскажите пожалуйста, как правильно реализовать контекстный фильтр, связи, и фильтрацию для моего представления, чтобы оно выводило только термины словаря, к которому привязана хотя бы одна нода.
На данный момент получилось реализовать с выводом всех нод, привязанных к нужному словарю, а их в шаблоне пересобираю в уникальный массив, из которого строю нужные термины. Это очень криво, но никак не разберусь в правильной выборке через модуль views.
Комментарии
https://www.drupal.org/project/facetapi
Менюшку что-ли создать?
Нет, термин - это категория объекта. Объекта - это нода. Вывести категории этих объектов, содержащие более одного объекта. Соответственно иметь на странице доступ к объектам этой категории. Те будет видна как сама категория, так и объекты категории.
Тогда в фильтрах агрегацию по количеству.
Ну вот добавил в Критерии фильтрации фильтр по содержимое ноды - связь с полем, оператор - NOT NULL. Выбирает ноды в таком случае, а как выбирать именно термины под необходимое условие?
Я бы сделал так:
1. Создал представление выводящее термины.
2. Добавил в связь материал.
3. В фильтрах агрегацию на количество.
4. В поле собственно термин и заголовки нод.
5. Неформатированный список и группировка по термину.
Могу просто взять и сделать за небольшую денюжку на пиво.
Спасибо, попробую пока сам разобраться, а там посмотрим
Добавьте в связях "характерный материал термина" и поставьте галочку, что она обязательная.
Спасибо, попробую
Я не очень понимаю, что за контекстный фильтр? Что в нем не включить - если поставить в отсутствие результата выводить все результаты - он всегда выводит ВСЕ ноды сайта.
Забудьте про контекстный фильтр, он тут не нужен. Делайте просто вьюс по терминам с обязательной связью "характерный материал термина". И всё.
Класс, если добавить эту связь то отсеивается термин, к которому не привязана ни одна нода. А я с контекстным фильтром мучился, спасибо большое за совет, это помогло!