Вообщем есть два типа контента: Тип1 и Тип2. В Тип1 есть дополнительное поле (CCK) node_reference в котором указываються привязаные документа типа Тип2.
Хочу при просмотре полного документа типа Тип1 вывести внизу блок с тизерами или заголовками документов типа Тип2, на которые ссылаеться этот документ.
Понимаю что тут надо юзать views, но вот именно в нем разобраться и не могу.
Очень надеюсь на помощь, обьясните пожалуйста как это сделать. С пхп знаком хорошо, вот с друпалом недавно начал только разбираться.
Комментарии
NodeReferrer
Создаем файл темизации пол CCK (на основе content-field.tpl.php) в папке шаблона (на основе content-field.tpl.php, и самого егот тоже в папку шаблона, тут подробнее из modules\cck\theme\) - получаем темизацию полей CCK. пишем:
print_r($items);
print('</pre>');
Видим там массив данных привязанных через node_reference нодов, далее имея [nid] можно делать много чего, к примеру вызвать вьюс с аргументом = [nid] и тут же его вывести:
print '<div class="a_views">';
print($output);
print '</div>';
Думаю возможны другие варианты без тяжелой артиллерии
тут еще немного http://drupal.ru/node/17028
PS не обратил внимание на версию, это пробовалось на шестерки
2: Слава Юдаков Спасибо, смотрел я этот модуль, непонятный он мне.
2: dfaker
$output = views_embed_view(имя вьюса, $display_id = 'default', $node->nid);
вот тут непонятка.. Ясно что надо создать вьюху, но: в ней провайд блок или пейдж? а что еще добавить?Пробовал сделать так: создаю вьюху с блоком, в ней фильтр по node_reference и аргумент node_reference. И все равно не работает оно. Но тут еще одно: аргумента nid нету, так как используеться модуль pathauto , и урл имеет вид типа content/tochesdelelpathauto ...... помогите пожалуйста разобраться.
views_embed_view для 5ой версии кажись нет, замена тут http://drupal.org/node/124446
Есть еще модуль viewreference, возможно то что нужно
Добавить во вьюс нужно поля которые показывать ну и все остальное по желанию.
Кстати метод тупого тыканья по кнопкам в целях изучения функционала модулей (вьюс) в друпале хорошо работает
2: dfaker
Спс, метод тыка точно работает. Вообщем ошибку я понял свою. Надо наоборот было поле референс добавить до типа Тип2, а не так как я сделал. потом все елементарно (в случае с блоком) вьюха, блок, аргумент референс и всего делов то!)
Но тут еще вопрос возникает: как этот блок с вьюсом вывести в node-type1.tpl.php ...
UPD ---------------------------------------------
Не все так просто. Вообщем кое-как разобрался с аргументами. Все работает, при условии что отключен pathauto. Когда ссылки вида node/NID - то все гуд, влючаем фильтр по референс - и блок отображает только те ноды, которые привязаны к текущей.
А вот что делать когда через УРЛ не передаеться NID? Урл имеет вид content/nazvaniestatti . Тут уже как я понимаю надо использовать Argument Code. Тоесть вручную в аргументы добавить NID. И собственно вопрос: как имея алиас, узнать NID ?
В первом своем ответе как раз писал как брать nid не из адреса (ели аргумент не передано то в views еть возможноть как раз брать иго из пути - щас похоже у вас так и работает), а из массива значений поля node reference. Тут ридми файл есть modules\cck\theme\ с пояснением темизации отдельных CCK полей, так вот можно заменить вывод простой ссылки на связанную ноду на что угодно, в нашем случае на вывод вьюшки с аргументом = nid
Кстати тут насчет nid если используются алиасы http://drupal.ru/node/12716