Создание и перевод типов материала и полей через drush или их импорт

Опубликовано Ksenia-Polo - пт, 05/04/2018 - 16:22

 Модули, о которых пойдет речь:

FeaturesBundle Clonehttps://youtu.be/T3hfiwvOdi4, ECK, paragraphs, EAV или properties,  double_field, Field collection, Multifield, bundle_inheritconditional_fields, Panels + Omega + Panels Everywhere, properties:

Предлагаю свою классификацию способов для ускорения работы с полями (univerico, 2018).

Способы для :

1)Копирования и переноса существующих полей между типами материала - сущностями и bundles и между сайтами.

2)Создания уникальных полей

а)Архитектурные (на этапе создания типов материалов/ видов сущностей и bundles)

б) Внеархитектурные

1)Копирование и перенос существующих полей между типами материала - сущностями и bundles и между сайтами.

-Features 

-Bundle Clone

-Bundle_inherit

-Общие поля с помощью 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