Несколько родителей у одного нода

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

Аватар пользователя kvser kvser 26 ноября 2008 в 9:52

Есть иерархический каталог продукции девайсов, каждый девайс в друпале это node:
"Блок 1" состоит из "модуля 1", "модуля 2", "модуля 3"
"Блок 2" состоит из "модуля 1", "модуля 5", "модуля 6"
"Блок 3" состоит из "модуля 2", "модуля 7", "модуля 8"

Тут получается, что у одного модуля могут быть разные родители.
Как сделать в друпале такую иерархию?

Комментарии

Аватар пользователя kvser kvser 26 ноября 2008 в 13:32

если использовать синонимы, то тогда навигационная строка breadcrumb (показывает место где находимся: "Продукция >> Блок 1 >> модуль 1"), будет работать не правильно.
Или я что-то недопонимаю?

Аватар пользователя direqtor direqtor 26 ноября 2008 в 16:42

Сперва указанное поле надо добавить к типу материала тебе необходимому. Потом оно будет доступно при создании экземпляра этого типа материала.

Аватар пользователя kvser kvser 27 ноября 2008 в 12:36

Начинаю разбираться. Поле node reference сделал выпадающим списком, теперь его можно заполнять.
Но тут получается связь многие ко многим для одного и того же типа материалов.
Таким образом получается, что при заполнении пользователь должен будет и для блока и для модуля выбрать соответствующие reference.
При чем в блоке надо будет указывать несколько модулей, и в модуле несколько блоков. А при добавлении нового блока с модулями 2,4,6, пользователь должен указать в reference для этих модулей этот новый блок.
Геморрой однако...
вот пляшу от этого http://drupal.org/node/124446
Но во вьюхах ничерта не понимаю...((
А может мне не нужны вьюхи в этом случае???

Аватар пользователя kvser kvser 27 ноября 2008 в 16:06

В конечном итоге надо будет для иерархии
"Блок 1" состоит из "модуля 1", "модуля 2", "модуля 3"
"Блок 2" состоит из "модуля 1", "модуля 5", "модуля 6"
"Блок 3" состоит из "модуля 2", "модуля 7", "модуля 8"
сформировать массив типа такого:

array(
"Блок 1"=>array(
пара("модуля 1", URLModule1), пара("модуля 2", URLModule2), пара("модуля 3", URLModule3)
),
"Блок 2"=>array(
пара("модуля 1", URLModule1), пара("модуля 5", URLModule5), пара("модуля 6", URLModule6)
),
"Блок 3"=>array(
пара("модуля 2", URLModule2), пара("модуля 7", URLModule7), пара("модуля 8", URLModule8)
),

)
Для реализации фишки как тут: http://www.support.xerox.com/go/prodselect.asp?Xlang=en_US&metrics=HDR там три колонки, в первой выбираешь- вторая заполняются связанными полями, потом во второй выбираешь - третья заполняется связанными полями.
Получится?

Аватар пользователя kvser kvser 18 декабря 2008 в 10:51

Запустил эту задачу...другим был занят

Вообщем сейчас появляется вопрос: Как сделать вышеописанное дерево? С помощью view? или надо в блоке писать соответствующий SQL-запрос?
Если запрос то по каким полям делать выборку?

Аватар пользователя kvser kvser 19 декабря 2008 в 11:21

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
нужно использовать такосномию и модуль «hierarchical select».

уууу...какое избыточное множество модулей.

А просто по старинке SQL запросами по reference node никак? Я понимаю что при обновлении модуля возможно у мен запрос будет работать не правильно, но это когда еще будет )))
Или друпал пользуют все только перебирая модули, ища подходящий, а потом в гуи галочки выставляют необходимые и все работает?

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 20 декабря 2008 в 13:09

А что же Вы по старинке сами не напишете? Wink

Да, в Друпале всё обычно решается модулями, насколько я понимаю, потому что для решения большинства задач нужные модули уже есть. Если есть желание, пишите сниппеты и решайте свои задачи самостоятельно, без модулей Wink

Аватар пользователя kvser kvser 22 декабря 2008 в 9:09

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
А что же Вы по старинке сами не напишете? ;)

Я и хочу,просто спрашиваю где найти инфу по базе данных

Да, нужно попробовать использовать готовые модули