Люди, помогите разобраться...
Есть нод типа "Фильм", есть нод типа "Ссылка" (гланое предназначениеи содержание - ссылка на файл фильма; содержит ССК-поля, в том числе и поле типа Node reference, посылающееся на соответствующий фильм). Например, есть фильм "Матрица". К нему создается нод типа Ссылка со ссылкой на файл с фильмом на файлообменнике (CCK LInk field) и посыланием на нод фильма (CCK Text).
Мне нужно выводить на странице фильма ноды с ссылками на данный фильм, то есть те, которые референсят данный нод фильма. Я создал view, выводящий ленту нодов типа Ссылка с полями в блок. Насколько я понимаю, нужно указать аргумент, при котором будет выполняться мое требование - выводить ноды с ссылкой на фильм только на странице фильма. Но какой? Я перерыл весь Drupal.org, но ответ не нашел. Помогите!
Комментарии
Сергей, посмотрите скринкаст по созданию галерее, думаю, данный вопрос отпадат сам собой, да и что-нибудь еще нового узнаете. Успехов!
Евгений, все проще, чем я думал! И не нужно устанавливать дополнительные модули. Модуль Nodereference URL Widget хоть и автоматизирует добавление view в тело нода, непосредственно сам view не видим в ноде. Да еще этот Jeff Eatonзаставляет нас использовать два модуля одновременно для показа view в ноде - еще и Views Attach. И понятно почему - он же автор обоих! Ну а CSS Injector совсем уже для новичков.
Все, что надо было сделать - добавить аргумент в настройках view. Вот как:
- жмем "+" в блоке Arguments
- выбираем поле, на которое посылается через CCK Node reference из нода, который мы хотим показывать в view
- выбираем Provide default argumentв списке опций Action to take if argument is not present:
- выбираем Node ID from URL в списке Default argument type:
- опционально выбираем Validator > Node и указываем тип нода, nid которого нужно доставать из URL
- выбираем Argument type: Node ID
- жмем Update и сохраняем view
Потом нужно добавить такой вот сниппет в node.tpl.php или node-[тип].tpl.php (если хотите кастомизировать страницу типа нода, у меня это node-movie.tpl.php)%
print views_embed_view([название вашего view], $display_id = 'default');
?>
Все.
Спасибо, Евгений! Помогло на 95%
Сделал все как указано - на странице Edit view внизу в просмотре Live preview все работает, а вот в ноде как не показывалось так и не показывается...
В любом случае, спасибо за наводку! Буду думать.
Тоже вот делаю, чтобы в нодах image определенной галереи показывались превью этой галереи снизу, типа слайдшоу, но только пока в блоке этом показываются превью всех галерей, ане той в которой находится пользователь. Видимо проедется вставлять view в ноды.
Я делал по этому мануалу, все ок http://drupal.org/node/289738
.
а как в ноде =- ссылка вывести другие ноды ссылки к фильму ссылками которого они являются???