Доброго времени суток.
Прошу подсказать по фильтрам Views, ибо сам не могу понять в чем загвоздка уже не первый день.
Итак, суть проблемы такова - на сайте только один тип материал, у этого типа десять словарей. Хочу с помощью Views вывести в блок похожие материалы, создал новый вьюис (описано тут), добавляю фильтр Таксономия: Vocabulary -> Is one of - нужный словарь, но в материале выводятся другие материалы не только из этого словаря. Чувствую, что решение очень простое, но никак не могу додуматься сам.
P.S. Именно в этом словаре у каждой ноды только один термин.
Заранее благодарю за помощь.
Комментарии
Попробуйте фильтр не Словарь, а Таксономия: ID Термина (с глубиной).
Спасибо за попытку помочь - не то. Если выбрать фильтр Таксономия: ID Термина (с глубиной), то нужно указывать конкретный термин и для всех материалов будут выводиться похожие материалы одного термина, а надо, чтобы выводились материалы, которые помечены тем же тегом, что и просматриваемый.
Как я понял, вас интересует отдельный словарь, в котором разные термины, но с общими тэгами. Вообщем, похожие материалы. А в фильтре Таксономия: ID Термина (с глубиной) укажите какие конкретно термины из этого словаря вам нужно вывести, хоть все сразу или один-два.
Пишу и думаю, а может и неправильно понял, вроде так просто, наверняка уже все фильтры перепробовали...
Немного не понял. Попробую объяснить на конкретном примере - есть материал "Мультфильм", к нему среди прочих есть словарь "Категории", в котором термины "Советские мультфильмы", "Российские мультфильмы", "Иностранные мультфильмы".
Хочу, чтобы, например, к мультфильму "Голубой щенок" выводились материалы, которые принадлежат термину "Советские мультфильмы" из словаря "Категории".
Гм.. Тему вы прочли ту что требуется но видимо недостаточно внимательно...
Зачем вам фильтр по словарю? из фильтров вам нужны только проверка на опубликовано/нет
ну и можно ещё тип материала.
Остальное делается в аргументах выберите аргумент - Таксономия: ID термина(Таксономия: Term ID)
Подставить аргумент по умолчанию (Provide default argument)-> PHP Код (PHP Code)
и уже туда вставляете
<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
$node = node_load(arg(1));
$terms = taxonomy_node_get_terms_by_vocabulary($node, 4); // 4 - Id нужного словоря (ваш словарь Категории)
return key($terms);
}
?>
Id словаря можно посмотреть на странице таксономии нажав на ссылку изменить словарь и посмотрев на последние символы в адресной строке.
Пробовал и такой код, почему то выводит материалы, принадлежащие всем терминам словаря.
Возможно вы использовали какой-то ещё аргумент или фильтр
прикрепляю экспорт для блока выводящего материалы того же термина к которому принадлежит текущая нода тип материала - блог
Код с рабочего сайта правда сайт в локалке
Если получится то напишите что у вас было не так - очень любопытно.
Спасибо. Получилось. Может быть причина была в том, что были отмечены чекбоксы в аргументах -> Таксономия: ID термина -> Разрешить несколько терминов в аргументе и Устранить дубликаты.
В общем удалил старый вьюис, импортировал Ваш - все заработало как надо. Еще раз спасибо.
http://drupal.org/node/65375#comment-3487772