Как работают relationships (связи, отношения) во Views? На примере Views + i18n

Прислано: Lex-DRL

чт, 11/03/2010 - 09:42

Посмотрел уже несколько туторов по views, прочитал оф.справку, погуглил по друпал.ру и .орг, но всё никак не могу понять одного: что такое связи (отношения, relationships) и как они работают?
Методом тыка кое-где они у меня даже задействованы. Но тот факт, что принцип их работы я не понимаю до конца, удручает.

В частности, сейчас сделал на сайте мультиязычность - теперь ломаю голову, как отфильтровать во вьюсах выводимые ноды, чтоб отображались только те, которые либо на нейтральном языке, либо на текущем языке просмотра.
В фильтрах есть только "жёсткие" варианты (дефолтный язык, язык юзера, конкретный язык).
В "отношениях" нашёл "Node translation: Translations" с вариантом "Current language". Вот только к какому фильтру это цеплять - ума не приложу. Метод тыка уже не помогает.

Если не трудно, объясните, пожалуйста, принцип функционирования связей "на пальцах". Или на вышеозначенном примере.

Буду также признателен за отсыл к толковому тутору, где досканально разъясняются relationships.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Lex-DRL в пт, 12/03/2010 - 17:47.

Вторую ссылку уже читал - ничего не понял. За первую ссылку - благодарю, вроде немного прояснилось.
Уточнение: я правильно понимаю, что связи как бы сообщают Вьюшкам "вместо вывода значений из самого полученного результата бери их вот из этого у полученного результата"?
И всё равно небольшая путаница по поводу того, как именно работают связи с аргументами, фильтрами и сортировкой.


Опубликовано Crea в пт, 12/03/2010 - 18:10.

Грубо говоря, relationship - инструкция, как подключить дополнительную таблицу на основе данных базовой.


Опубликовано stddos в сб, 13/03/2010 - 04:19.

Допустим мы передаем аргумент id термина таксономии, по сути должны выбраться все ноды с этим термином, но если использовать зависимость (relationship) например parent term (родительский термин) к этому аргументу, то выберутся ноды у которых id родительского термина тот который мы передали как аргумент.


Опубликовано Lex-DRL в сб, 13/03/2010 - 06:56.

Большое спасибо и нижайший поклон - вот теперь разобрался. Меняется не само значение аргумента/фильтра/поля - а то, к чему оно применяется.
Возник встречный вопрос: на этом примере - как при передаваемом этом же id отобразить ноды родительского термина? Т.е. по ходу дела id должен как-то преобразоваться в родительский.
Или:
Если в аргумент передаётся id текущей ноды, как отобразить другие ноды, связанные не с ней самой, а с её переводом на текущий язык (скажем, через nodereference - хотя у меня немного др. задача)?


Опубликовано stddos в вс, 14/03/2010 - 11:47.

"Lex-DRL" написал(а):

как при передаваемом этом же id отобразить ноды родительского термина?

просто использовать в качестве аргумента не taxonomy term id а taxonomy parent term
По второму что-то я с переводами дела не имел пока, даже и не отвечу точно.


Опубликовано Lex-DRL в вс, 14/03/2010 - 17:30.

ОК. Значит, как я понял, средствами Views - никак. Либо самому писать дополнительный аргумент для Views на php (что в моём случае не подходит, т.к. нее умею), либо ставить модуль, который этот аргумент добавит (что опять же не подходит, т.к. разработчик модуля не включил такую возможность).
Благодарю за помощь.


Новое на сайте

Ссылки партнёров