Хранение данных компании

Аватар пользователя vlucas vlucas 18 января 2019 в 16:29

Коллеги, поделитесь опытом: кто как хранит данные, такие, как телефон, адрес и т.д.
Заводите отдельную страничку с этими конфигами, используете кастомные блоки, пользуетесь доп. модулями?
D8

Комментарии

Аватар пользователя ivnish ivnish 18 января 2019 в 16:32

В семерке лучшим решением считалось использование Variable API.

В восьмерке я бы написал маленький кастомный модуль с формой для ввода этих данных. Форма сохраняет данные в виде конфигов -> использовать потом можно везде

Аватар пользователя vlucas vlucas 18 января 2019 в 16:42
3

Андрей, спасибо за обратную связь!
Для 8 сейчас я сам использую https://www.drupal.org/project/config_pages заменяет кастомное решение, которое ты предлагаешь, плюс есть ещё и возможность указание контектста, например, для domain_access.

Как-то видел, что кто-то говорил, что это излишнее и советовал использовать для этого пользовательские блоки, например, завести тип блока, config_block и создавать блоки, например, телефон, адрес и т.д. Как считаешь, нормальное решение или есть какие-то подводные камни?

Аватар пользователя gun_dose gun_dose 18 января 2019 в 16:48

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

Аватар пользователя gun_dose gun_dose 18 января 2019 в 16:46
3

Config Pages позволяет создавать сущности, у которых в каждом типа может быть только один экземпляр. Плюс появляются блоки, отображающие эти сущности в нужных режимах отображения.

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

Итог - поменяли телефон в одном месте - он поменялся везде.

И ни одного миллиметра кастомного кода!

Аватар пользователя negociant negociant 18 января 2019 в 17:54
1

Еще имеется модуль https://www.drupal.org/project/site_settings - там хранимые данные доступны в переменных в twig шаблонах и в токенах (токены с модулем https://www.drupal.org/project/token_filter позволяют выводить нужные данные в контенте).