Block views node_reference

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

Аватар пользователя InvDeath InvDeath 23 января 2013 в 1:26

Есть небольшая проблема, решить которую пытаюсь давно. Сколько не брался - все никак не могу понять/найти пути решения. В общем нод_референс. Статей много, тут на форуме тоже много писали, но все так просто и элементарно, что меня заводит в тупик еще больше.
В общем проблема:
Есть тип материала (мастер), на ноды которого ссылаются материалы других типов (слейв). У материалов типа Слейв есть поле ноде_референс, в котором и указывается конкретный экземпляр Мастера. Нужно вывести блок вьюсом на станице материала мастера со списком всех экземпляров (общих их полей через вьюз) слейвов, у которых этот мастер указан в поле ссылки.
Попытки решения:
Создаю вьюз блок, в котором выводятся материалы Слейвы (поля). Запрос простой, никаких условий. Работает, выводит на странице Мастера. Начинаю пататься отфильтровать... Добавляю Контекст на айди ноды с юрл, добавляю в релейшнс это поле ссылки, добавляю на этот релейшн фильтр (нот налл). И ничего. Прочитать, изучить вопрос у меня так и не получилось. Что, куда копать, какая логика у вьюза - хз. Надеюсь на вашу помощь. Спасибо

Комментарии

Аватар пользователя Nikit Nikit 23 января 2013 в 5:27

>> Создаю вьюз блок, в котором выводятся материалы Слейвы (поля). Запрос простой, никаких условий. Работает, выводит на странице Мастера.
Вроде написали что работает.

Нужно добавить аргумент - поле ноде-референс - аргумент по умолчанию - текущая нода.

Аватар пользователя InvDeath InvDeath 23 января 2013 в 11:18

Работает без условий, просто выводит, мне условия надо на нод референс.
Контекст стоит - поле нод реф у следоватеей, дефолт - айди с юрл.

Можно как-то поподробнее описать процедуру/принцип?

Аватар пользователя InvDeath InvDeath 23 января 2013 в 23:58

Спасибо огромное, с третьего раза получилось=) Неделю мучался пытался понять логику.
Оказывается, что оно берет айди и сразу формирует условие в контекстном фильтре, релейшины тут не надо. А я все думал, что там только айди материала брать надо, подставлять его (каким-то образом) в релейшин на другую табл, потом обратной выборкой в основных фильтрах (уже по конкетным айди основного материала).
Еще раз спасибо, выручили

Аватар пользователя InvDeath InvDeath 24 января 2013 в 0:39

А как на странице слейва вывести материалы, которые указаны в поле? т.е. те, на кторые ссылается данный материал

Аватар пользователя InvDeath InvDeath 24 января 2013 в 2:27

Я так понимаю, что нужно создать релейшн по этому полю и вставить его в фильтр (любое поле, указав рел. в дропдауне)?
или просто фильтром... но там нужно указать конкретное соответствие, т.е. нужно наоборот.