Добро пожаловать на мой дневник.

Здесь я размещаю свежие новости а также некоторые личные заметки.

Кроме данного сайта, у меня также есть:
- Домашняя страница
- Фотогалерея [закрыта на ремонт]
- Моддинг-портал

На все материалы, размещённые на данном сайте, распространяется моё негласное авторское право, подробности в футере.

Приятного всем прочтения.

PC_M@niac's blog

Добро пожаловать или Потусторонним вход воспрещён

brainfuck

Drupal brainfuck - отображение братьев в дереве

Задался я давеча вопросом, как в 6-м Драпале при помощи Views отрисовать братьев текущей ноды (в древовидной структуре), и столкнулся я с таким брейнфаком, что готов поделиться результатами трудов с общественностью, авось кому сгодится.

Условия задачи:

  • Есть материалы типа А и В
  • Материал В ссылается на А посредством CCK Node
  • Есть вьюха X, которая отображает материалы типа В, получая в качестве аргумента nid их родительского материала (тип А)
  • Эта вьюха посредством viewfield встраивается в ноды типа А, получает аргумент (в настройках поля "%nid") и отображает дочерние элементы (тип В)

Задание:
Нужна вьюха Y, которая получит аргументом nid ноды типа В и выведет всех братьев этой ноды, включая её саму.

Найденное решение:

  • Создаём вьюху Y
  • Для этой вьюхи задаём аргумент nid контента B
  • Добавляем зависимость (Relationships) с нодой типа A
  • Добавляем поле, вызывающее вьюху X
  • В настройках поля выбираем ранее созданную связь с нодой A

Вуаля!

Что у нас получилось?
Мы вызываем вьюху Y, передавая ей nid ноды типа B (можно посредством viewfield как описано выше для ноды типа A), вьюха Y делает выборку нод типа B, фильтрует её по переданному аргументу (оставляет фактически одну ноду с nid, равным переданному), после чего для отображения ноды типа B вызывает единственное указанное нами поле (вьюха X) и передаёт ей указанную нами связь с нодой типа A как аргумент, а вьюха-же X отображает все ноды типа B, фильтруя их по родительскому аргументу типа A.

Для чего это нужно?
Отображение соседних объектов в дереве на странице каждой ноды. Удобно для навигации по разделам книг, музыкальным альбомам, каталогам товаров etc...

Удачных вам брейнфаков!

Ваша оценка: Нет Средняя: 2 (3 votes)

Ключевые слова

Последние комментарии

Архивы

июня 2017
пнвтсрчтптсбвс
2930311234
567891011
12131415161718
19202122232425
262728293012

Twitter Updates