Конфликт Field Collections и Conditional Fields

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

Аватар пользователя Eleazara Eleazara 22 октября 2014 в 0:10

Влияющее поле
Деятельность (чекбоксы):
- сольный исполнитель
- участник группы

Зависимое поле
Группа (коллекция полей, видимый) появляется, только если стоит галка на *участник группы*.

Все работает нормально, пока в коллекцию полей Группа не добавлены поля.

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

Если убрать зависимость, данные сохраняются. Если удалить поля из коллекции, данные тоже сохраняются. Только в связке почему-то не фурыкает.

Как можно отладить работу?

Комментарии

Аватар пользователя whiesam whiesam 22 октября 2014 в 4:36

Совмещать эти 2 модуля это.... жесть. Филд колекшин вообще кривой.
Сделайте кодом Drupal FAPI через #state. Быстрее и проще.

Аватар пользователя Eleazara Eleazara 22 октября 2014 в 10:13

"whiesam" wrote:
Сделайте кодом Drupal FAPI через #state. Быстрее и проще.

Буду пробовать, спасибо. Если, конечно, беда именно с Conditional Fields.
Коллекции для меня принципиально важны)

Аватар пользователя roman-yrv roman-yrv 22 октября 2014 в 13:36

Кстати, если Вы реализуете проект, связанный с музыкой, то музыканты сплошь и рядом могли быть одновременно и участниками каких-либо групп, и параллельно выпускать сольные альбомы.

Думаю, здесь правильнее спроектировать это всё через Organic Groups.

Аватар пользователя whiesam whiesam 22 октября 2014 в 19:28

"roman-yrv" wrote:
Думаю, здесь правильнее спроектировать это всё через Organic Groups.

Вот тут 10 раз надо подумать брать ли ОГ (хотя он бы был уместнее). Там своих заморочек и багов миллион.

Я бы посоветовал состряпать из нод + кастом модуль, своё. А то как Вы это спроектировали неправильно.

Аватар пользователя roman-yrv roman-yrv 22 октября 2014 в 20:07

В принципе, тут от задачи зависит.

ОГ удобно, если это какой-то более-менее проект, который планируется в будущем развивать, дорабатывать и т.д.

А если это недорогая шабашка, то можно, в принципе, и попроще сделать.

Аватар пользователя Eleazara Eleazara 25 октября 2014 в 13:36

"roman-yrv" wrote:
Думаю, здесь правильнее спроектировать это всё через Organic Groups.

ОГ я использую для онлайн-библиотеки, чтобы можно было организовать добавление глав в книги пользователями определенных ролей в книге: авторы, редакторы, стилисты, переводчики. Каждый из который имеет доступ к своим функциям в конкретной книжке. Могу сказать, что модуль действительно довольно замудренный. Например мне не хватает функция от ОГ в Рулс.
А в данном конкретном случае существует большое количество типов, которые взаимосвязаны между собой по разным направлениям и выделить какой-то один основной я не могу. Поработав с ОГ, я поняла, что использовать этот громоздкий модуль будет занадто. Может я со временем передумаю)

Аватар пользователя Eleazara Eleazara 25 октября 2014 в 13:52

Кстати, что касается данной темы, я решила задачу иначе. Убрала поле Деятельность и Группа, заменив их на Исполнитель (коллекция полей, автозавершение ввода).

В коллекции по прежнему доступны Выбрать исполнителя (автозавершение ввода) и Предложить исполнителя (текст). Поле Выбрать исполнителя ищет ноды типов *Профиль* (артиста) и *Группа*. Этот подход универсален, прост и удобен. Используется в разных типах: профиль, музыкальное видео, альбом, сингл, дэнс практики, тв-шоу и т.д. Например, если для Сингла нужно указать группу + какого-нибудь отдельного артиста, это можно сделать в одном и том же поле.

Но багов все равно хотелось бы поменьше Biggrin