Модули, о которых пойдет речь:
Features, Bundle Clone, https://youtu.be/T3hfiwvOdi4, ECK, paragraphs, EAV или properties, double_field, Field collection, Multifield, bundle_inherit, conditional_fields, Panels + Omega + Panels Everywhere, properties:
Предлагаю свою классификацию способов для ускорения работы с полями (univerico, 2018).
Способы для :
1)Копирования и переноса существующих полей между типами материала - сущностями и bundles и между сайтами.
2)Создания уникальных полей
а)Архитектурные (на этапе создания типов материалов/ видов сущностей и bundles)
б) Внеархитектурные
1)Копирование и перенос существующих полей между типами материала - сущностями и bundles и между сайтами.
-Общие поля с помощью ECK + inline_entity_form
(подробнее о 4 способе )
ECK позволяет в UI создать любое количество необходимых типов сущностей, у каждого типа сущности отдельная таблица БД.
К типу сущности можно добавить необходимые свойства property (поля , которые хранятся в таблице типа материала), которые буду общие для бандлов этого типа, например как в node: title, created, updated, published и т.п.)
Если установить модуль Inline Entity Form, то можно добавлять-редактировать сущность поля entity_reference непосредственно в форме родительской сущности.
Уточнение по терминологии.
Типы материала - типы сущностей (entity type)
Стандартные:
node
user
comment
и т.д
каждый тип материала имеет в БД свою таблицу для хранения данных
Бандл (bundle) - то, что Вы добавляете в админ меню Структура - Типы материалов
для node
Создать типы сущностей можно в drupal 8 при помощи друпал-консоли, в drupal 7 с модулем ECK.
И уже для этого типа материала добавить необходимые бандлы, которые имеют некоторые общие поля-property, объявленные в entity type, и любые дополнительные настройки полей к сущности.
И уже для этого типа материала добавить необходимые бандлы, которые имеют некоторые общие поля-property, объявленные в entity type, и любые дополнительные настройки.
2)Создание уникальных полей
А) Архитектурные
Сранвительная статья на http://xandeadx.ru/blog/drupal/695#comment-15519
- EAV (Entity–attribute–value)
атрибут, значение
- Поле ссылка на сущность (с помощью модуля Inline Entity Form ) с двумя полями с множественным добавлением Orion76
- paragraphs
- double_field
- properties
Б)
Применение модулей
1)Features
Управление :
/ru/admin/structure/features/.../recreate
2)bundle_clone
admin/structure/bundle_clone/
Видео:
Способы ускорения работы с полям в Друпал
Источники:
обзор способов реализации каталога с большим количеством атрибутов товара (теория)
(и комменатрии direqtor LeGront)
На форуме https://drupal.ru/node/137481