Добрый день! Проблема с привязкой блока к ноде. Есть страница сайта. Нужно привязать блок новостей и акций к ноде (страница продукта) с сортировкой по полю ноды (вендор). Пытался через контекстные фильтры views проделать, ниче не получается. Возможно кто сталкивался. Помогите, если можно.
Комментарии
Зависит от того, как у вас связаны страницы сайта с материалами, которые вы хотите выводить в прикреплённом блоке.
В общем случае вывод такого блока выглядит так:
1. Делаете вьюс my_view , который выводит то, что вам нужно.
2. Добавляете аргумент node -> nid.
3. Добавляете тип вывода views блок.
4. В шаблоне типа содержимого, к которому надо прикрепить блок, в нужном месте прописываете
<?php views_embed_view('my_view', 'block_1', $node->nid)?>
5. Profit!
Спасибо, но не совсем то. views не нужно вписывать в ноду. Новости и продукты находятся в категории производители. То есть нужно в блоке выводить новости, которые относятся к тому же термину таксономии, что и продукт. Напишу как делал я. Добавил контекстный фильтр (аргумент) "Содержимое: Has taxonomy term ID". Задал фильт по умалчанию, где вписал код:
<?php
if (arg (0) == 'node' && is_numeric(arg (1)) {
$node = node_load (arg (1) ) ;
if ($node) {
foreach ($node->taxonomy as $term) { $terms[] = $term->tid; }
}
}
?>
Далее поставил проверку на соответствующий термин. Но к большому огорчению это все отказывается работать (((
У вас на странице редактирования views в предварительном просмотре аргумент отрабатывает, как надо? Выводятся только те материалы, которые вы хотите?
в views 3 в D7 не надо писать php код , чтобы вывести материалы с теми же терминами ,что и текущая нода .
нужно выбрать id термина таксономии из url , отметить чекбокс "Загрузить фильтр по умолчанию со страницы материала." , если надо ограничить термины словарем ,разрешить множественные значения
да и код ваш ничего не возращает
Спасибо огромное! Все работает! )