views + node reference

Главные вкладки

Аватар пользователя klim klim 2 февраля 2010 в 21:30

Есть два типа материала ПРЕПОД и КУРС
В ПРЕПОДе есть поле (ссылка на материал) под названием "курсы".

Как через views выести все курсы, которые читает препод?
Ну видимо первый фильтр - материал.тип=КУРС

Что дальше?
Пробовал в relationship добавить содержание.курсы, но не работает.
Вроде задача должна легко и просто решаться, а не хочет Sad

Комментарии

Аватар пользователя goodboy goodboy 3 февраля 2010 в 1:25

Можно сделать наоборот: в типе материала КУРС сделать ссылку на ПРЕПОДА. Тогда во вьюве достаточно сделать аргументом поле ссылки.

Аватар пользователя klim klim 3 февраля 2010 в 18:42

"Goodboy" wrote:
Можно сделать наоборот: в типе материала КУРС сделать ссылку на ПРЕПОДА. Тогда во вьюве достаточно сделать аргументом поле ссылки.

не совсем понятно что значит "сделать аргументом поле ссылки".

мне надо вывести все курсы, которые читает препод.

Аватар пользователя goodboy goodboy 3 февраля 2010 в 19:34

"klim" wrote:
не совсем понятно что значит "сделать аргументом поле ссылки".

У вьювов есть Аргументы. Я предлагаю в качестве аргумента использовать поле ССЫЛКА_НА_ПРЕПОДА.
Тогда, www.site.ru/myview/125 выдаст курсы для препода с ID=125

Аватар пользователя Freedom Freedom 3 февраля 2010 в 20:05

Правильнее всего указывать несколько ссылок в одном поле, на соответсвующие документы. Тогда и вьсю поймёт и логика сохраниться. Правда неудобно становится если пунктов много.

Аватар пользователя klim klim 3 февраля 2010 в 20:24

Создал представление - название view
в ней создал вложение и назвал его subjects
настройки userlist:
фильтр - материал.тип=курс
поля - материал.заголовок
аргумент - содержание.препод (проверка - материал - препод, тип аргумента - ID материала)
сохраняю, жму предпросмотр, выводятся все курсы (это понятно, аргумента нет)
далее ввожу аргумент, например 10
выводятся курсы, которые читает этот препод.
Вроде работает система.

Теперь пытаюсь в шаблон вшить код в файл node-prepod.tpl.php

<?php
$output 
views_embed_view("view"$display_id 'subjects'$node->nid);
print(
$output);
?>

но на страничке препода не выводятся курсы, хотя в представлениях в предпросмотре все работает Sad