Есть иерархический каталог продукции девайсов, каждый девайс в друпале это node:
"Блок 1" состоит из "модуля 1", "модуля 2", "модуля 3"
"Блок 2" состоит из "модуля 1", "модуля 5", "модуля 6"
"Блок 3" состоит из "модуля 2", "модуля 7", "модуля 8"
Тут получается, что у одного модуля могут быть разные родители.
Как сделать в друпале такую иерархию?
Комментарии
node reference
если использовать синонимы, то тогда навигационная строка breadcrumb (показывает место где находимся: "Продукция >> Блок 1 >> модуль 1"), будет работать не правильно.
Или я что-то недопонимаю?
у меня нет поля node reference при создании материала. Node reference включен
Сперва указанное поле надо добавить к типу материала тебе необходимому. Потом оно будет доступно при создании экземпляра этого типа материала.
Начинаю разбираться. Поле node reference сделал выпадающим списком, теперь его можно заполнять.
Но тут получается связь многие ко многим для одного и того же типа материалов.
Таким образом получается, что при заполнении пользователь должен будет и для блока и для модуля выбрать соответствующие reference.
При чем в блоке надо будет указывать несколько модулей, и в модуле несколько блоков. А при добавлении нового блока с модулями 2,4,6, пользователь должен указать в reference для этих модулей этот новый блок.
Геморрой однако...
вот пляшу от этого http://drupal.org/node/124446
Но во вьюхах ничерта не понимаю...((
А может мне не нужны вьюхи в этом случае???
По созданию связей есть что "копать" по node reference см. также модули viewfield, ReferencedByFilter
В конечном итоге надо будет для иерархии
"Блок 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 там три колонки, в первой выбираешь- вторая заполняются связанными полями, потом во второй выбираешь - третья заполняется связанными полями.
Получится?
Запустил эту задачу...другим был занят
Вообщем сейчас появляется вопрос: Как сделать вышеописанное дерево? С помощью view? или надо в блоке писать соответствующий SQL-запрос?
Если запрос то по каким полям делать выборку?
Если я правильно понимаю, для реализации схемы, аналогичной той, что Вы приводите по ссылке, нужно использовать такосномию и модуль «hierarchical select».
уууу...какое избыточное множество модулей.
А просто по старинке SQL запросами по reference node никак? Я понимаю что при обновлении модуля возможно у мен запрос будет работать не правильно, но это когда еще будет )))
Или друпал пользуют все только перебирая модули, ища подходящий, а потом в гуи галочки выставляют необходимые и все работает?
А что же Вы по старинке сами не напишете?![Wink](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/wink.gif)
Да, в Друпале всё обычно решается модулями, насколько я понимаю, потому что для решения большинства задач нужные модули уже есть. Если есть желание, пишите сниппеты и решайте свои задачи самостоятельно, без модулей![Wink](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/wink.gif)
Я и хочу,просто спрашиваю где найти инфу по базе данных
Да, нужно попробовать использовать готовые модули