Пользовательское поле CCK Drupal с несколькими дочерними полями
Вопрос
Есть ли способ создать составное поле, которое может иметь несколько значений, причем каждое значение имеет другую группу составных значений?
Например.мы хотим, чтобы в конце была такая структура:
- Группа 1 (неограниченное количество групп)
- Дочернее поле (неограниченное количество дочерних элементов для каждой группы)
- Дочернее поле
- ...
- Группа 2
- Дочернее поле
- Дочернее поле
- ...
- ...
Возможно ли это вообще для пользовательского модуля, который определяет поле CCK?Если да, может ли кто-нибудь подтолкнуть меня в правильном направлении?
Решение
это очень известный и обсуждаемый вопрос в мире drupal.
эта функция называется cck "multigroup", и, похоже, ее довольно сложно реализовать.на форуме drupal есть много сообщений об этом, я предлагаю вам начать здесь:
это своего рода "скрытая" функция в модуле cck.заглянув в каталог модулей, вы найдете инструкции здесь:
cck/modules/content_multigroup/README.txt
Редактировать:Текущая работа над модулем multigroup перенесена в экспериментальную
Ветвь CCK 3.0.
в то же время вы можете попытаться справиться с этим, используя гибкое поле модуль (но это своего рода халтура, я не буду использовать ее в производстве)
Другие советы
В итоге я создал свое собственное составное поле CCK "Стоимость / продукт" на основе этого превосходного руководства с примерами модулей: http://poplarware.com/es/articles/cck_field_module
Я еще не разобрался, как выделить определенное подполе, такое как стоимость, в представлениях.Я получаю только всю ":$" соединение.
Для Drupal 7+ вы, вероятно, захотите ознакомиться с Полевой сбор модуль, или Группа полей если кратные числа не нужны.
Эта проблема довольно старая, но я только что случайно столкнулся с ней.Я бы подумал, что на данный момент справиться с этим можно было бы с помощью второго типа cck для дочерних элементов и групп в виде поля node_reference .Таким образом, у вас было бы:
Мастертип
- групповое поле
- неограниченное количество на узел
- каждый из них - ссылка на узел дочернего типа
Дочерний тип
- дочернее поле
- неограниченное количество на узел