Создание, продвижение сайтов
40-33-54

Как на странице материала вывести в блоке ноды из этой же категории

05 марта 2019

Распространённая задача — в блоке на странице материала, вывести ноды из категории, к которой принадлежит просматриваемый материал (под категорией понимается термин таксономии).

Способ 1

1. Создаём представление.

2. Добавляем дисплей Блок.

3. Добавляем фильтры (по типу материала, статусу и т.п.), меняем настройки по вкусу.

4. Добавляем контекстный фильтр по полю, в котором прописана категория материала (в примере это field_category).

5. В настройках контекстного фильтра отмечаем опцию Provide default value, в качестве типа выбираем PHP Code и в поле PHP contextual filter code пишем код, который вернёт значение поля у открытого материала, например:

return node_load(arg(1))->field_category['und'][0]['tid'];

6. Идём на страницу управления блоками, открываем настройки нового блока и устанавливаем видимость только для материалов определённого типа.

Способ 2

Всё тоже самое, только в настройках контекстного фильтра, в Provide default value, вместо PHP Code выбираем Taxonomy term ID from URL, отмечаем появившуюся опцию Load default filter from node page, that's good for related taxonomy blocks и выбираем нужный словарь в поле Vocabularies:

 

 

Статьи