прошу помочь с отображением данных в блоке. блоки созданы через views и в них показаны все существующие на сайте аудио и видео материалы. так вот нужно, чтобы во время показа определенных нод выводились только те медиафайлы которые с ней связаны по терму или еще как-нибудь. не могу с этим разобраться. например у меня есть фильм (название фильма=термин словаря) и вместе с его нодой мне нужно вывести в блоки его саундтрек и трейлеры. как это реализовать?
Комментарии
Почитайте мой ответ на http://drupal.ru/node/45591 он поможет вам разобраться в аргументах.
по вашему варианту у меня вообще блок ничего не выводит)))
Ну вы точно не копируйте код с примера, вам нужно взять аргумент номера ноды, и получить термины таксономии, например если у вас стандартный адрес нод то получение ее номера выглядит как
<?php
if(arg(0)=='node' && is_numeric(arg(1)))
{
$nid=arg(1);// номер ноды
}
?>
а передача во вьюс аргумента - дело техники.
И так:
{
return implode('+',db_fetch_array(db_query("SELECT tid FROM {term_node} WHERE nid=%d",arg(1))));
}
вот вроде и все, там уж сами допилите напильником как вам нужно, подобными комбинациями можно делать очень сложные вьюсы.
Мне помогло следующее
1.Create View
2.Add Argument "Taxonomy: Term ID"
3.Argument configuration:
-Provide default argument
-PHP Code
Add this code:
<?php$node = node_load(arg(1));
if($node) {
foreach($node->taxonomy as $term) { $terms[] = $term->tid; }
return implode('+',$terms);
} else { return; }?>
-Check ON: Allow multiple terms per argument.
-Check ON: Reduce duplicates
4.Add Display: Block
5.Add Field: Title
6.Optional — Add Filter: Content Type (whatever type you'd like to filter)
Нашел здесь http://drupal.org/node/65375