Drupal Custom CCK поле с несколькими дочерними полями - PullRequest
4 голосов
/ 29 октября 2009

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

например. мы хотим, чтобы эта структура была в конце:

  • Группа 1 (неограниченное количество групп)
    • Детское поле (неограниченное количество детей для каждой группы)
    • дочернее поле
    • ...
  • Группа 2
    • дочернее поле
    • дочернее поле
    • ...
  • ...

Возможно ли это вообще для пользовательского модуля, который определяет поле CCK? Если это так, может кто-то подтолкнуть меня в правильном направлении?

Ответы [ 4 ]

5 голосов
/ 29 октября 2009

это очень известная и обсуждаемая проблема в мире друпалов.

эта функция называется cck "multigroup" и, похоже, ее довольно сложно реализовать. Есть много сообщений на форуме drupal по этому поводу, я предлагаю вам начать здесь:

http://drupal.org/node/494100

это своего рода «скрытая» функция в модуле cck. заглянув в каталог модулей, вы найдете инструкции здесь:

CCK / модули / content_multigroup / README.txt
Редактировать: Текущая работа над модулем мультигруппы перешла к экспериментальной ССК 3.0 филиал.

тем временем вы можете попытаться справиться с этим с помощью модуля flexifield (но это вроде хакерский, я не буду использовать его в производстве)

3 голосов
/ 28 сентября 2011

Для Drupal 7+ вы, вероятно, захотите проверить модуль Коллекция полей или Группа полей , если множители не нужны.

3 голосов
/ 28 августа 2010

Я закончил тем, что создал свое собственное составное поле CCK "Стоимость / Продукт" на основе этого превосходного учебного пособия с примерами модулей: http://poplarware.com/es/articles/cck_field_module

Я еще не понял, как вытащить определенное подполе, например, стоимость, в представлениях. Я получаю только все ": $" соединение.

1 голос
/ 05 мая 2010

Эта проблема довольно старая, но я только что столкнулся с ней. Я бы подумал, что сейчас это можно сделать с помощью второго типа cck для дочерних элементов и групп в виде поля node_reference. Итак, у вас будет:

MasterType

  • групповое поле
    • без ограничений на узел
    • каждый, ссылка на узел ChildType

ChildType

  • дочернее поле
    • без ограничений на узел
...