Drupal 7: Как я могу создать поле ключ / значение (или группу полей, если это вообще возможно)? - PullRequest
4 голосов
/ 09 января 2011

Допустим, я создаю некоторую документацию приложения.При создании типа контента для функций у меня есть текстовое поле для имени, поле для общего описания и пара других основных вещей.Теперь мне нужно что-то для хранения аргументов функции.В идеале я хотел бы ввести их как пары ключ-значение или просто как два связанных поля, которые затем могут повторяться столько раз, сколько необходимо для данной функции.Но я не могу найти никакого способа сделать это.

Самый близкий, который я получил, - это оставленный полевой многогрупповой модуль , который говорит, что ждет CCK3, который даже не произвелАльфа пока, насколько я могу судить, и чья страница проекта не делает явного упоминания об этой мультигрупповой функциональности.Я также проверил очередь выдачи CCK и не думаю, что видел ее там тоже.

Есть ли текущий жизнеспособный способ сделать это, которого я не вижу?Viable включает «вы думаете об этом неправильно и вместо этого делаете X».Я подумал об использовании поля «Длинный текст и сводка», но оно пахнет хакером, и я не знаю, настрою ли я себя на побочные эффекты.Я новичок в Drupal.

Ответы [ 3 ]

3 голосов
/ 09 января 2011

Модуль http://drupal.org/project/field_collection есть, но он еще не готов. Прямо сейчас вам нужно реализовать свою сущность, увы, чтобы сделать это :( не просто.

2 голосов
/ 10 января 2011

Не уверен, насколько хорошо он будет работать, потому что в настоящее время он делает немного больше (например, вынуждает группировать пары по категориям, а ключи должны быть предварительно определены), но вы можете взглянуть на http://drupal.org/project/properties.

0 голосов
/ 09 января 2011

Вы можете создать эти поля значения ключа самостоятельно: создайте 2 обычных поля, которые можно добавлять так часто, как это необходимо.

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

Если вам нужно извлечь поля из функции, чтобы правильно отобразить ее в шаблоне страницы, вам следует использовать другой подход. Напишите функцию с аргументами в поле CCK и извлеките их по мере необходимости. Аргументы всегда (в зависимости от языка) в (), а различные аргументы разделяются ,, поэтому их разделение будет довольно простым.

...