На Drupal 8.1 я продолжаю работать с такими сообщениями, когда пытаюсь активировать пользовательский модуль или пользовательскую функцию, которая вносит некоторые изменения в базовую страницу. (добавить поля).
Это действительно раздражает ...
шаги:
- Очистить базу данных полностью
- перейдите в /install.php и выберите Стандартный профиль
- Теперь, когда сайт работает, перейдите в Расширить
- Выбрать функцию - Основная страница
Результат:
Unable to install Feature - Basic Page, core.base_field_override.node.page.promote, core.entity_form_display.node.page.default, core.entity_view_display.node.page.default, core.entity_view_display.node.page.teaser, field.field.node.page.body, node.type.page already exist in active configuration.
Ну да ... это то, что я хочу сделать: изменить эти настройки по умолчанию!
Expexted:
Уметь установить мою функцию, которая вносит некоторые изменения в базовую страницу.
Моя особенность
Вот моя функция создания с модулем Особенности
В основном это добавляет два поля, banner_image и background_image к основной странице
файлы:
config
install
core.base_field_override.node.page.changed.yml
core.base_field_override.node.page.created.yml
core.base_field_override.node.page.promote.yml
core.base_field_override.node.page.status.yml
core.base_field_override.node.page.sticky.yml
core.base_field_override.node.page.title.yml
core.base_field_override.node.page.uid.yml
core.entity_form_display.node.page.default.yml
core.entity_view_display.node.page.default.yml
core.entity_view_display.node.page.teaser.yml
field.field.node.page.body.yml
field.field.node.page.field_banner_image.yml
field.field.node.page.field_image.yml
field.storage.node.field_banner_image.yml
language.content_settings.node.page.yml
node.type.page.yml
feature_basic_page.features.yml
feature_basic_page.info.yml
Почему эта простая вещь не поддерживается? Это ошибка? Что я должен сделать, чтобы использовать мою функцию?
Ответы:
С Drush вы, вероятно, можете сделать
удалить конфигурации, которые жалуются
источник
optional/
папку, чтобы они закрылись. Но я не уверен во всех последствиях ...Warning: in_array() expects parameter 2 to be array, null given in lightning_layout_block_alter() (line 91 of modules/contrib/lightning_layout/lightning_layout.module).
после настройки исходного кода git и базы данных на другом компьютере ,drush pm-uninstall lightning_layout
работал, но потом, когда я попытался переустановить его,drush en lightning_layout
я получил эту ошибку командной строки "В строке PreExistingConfigException.php 65: объекты конфигурации (field.storage.node.panelizer), предоставленные lightning_layout, уже существуют в активной конфигурации", поэтому я использовал ваш Решение таким образом:drush config-delete field.storage.node.panelizer
и затем смог повторно включить модуль:drush en lightning_layout
Эта вещь не поддерживается, потому что модуль не может заменить сущность конфигурации, которая уже существует, с установкой config.
Чтобы добавить конфигурации формы и режима просмотра для уже существующего типа узла, вы должны реализовать это в коде в hook_install ().
Или вы должны сначала удалить тип узла на вашем сайте, но затем вы также должны удалить контент.
И нет, это не ошибка, это то, как это определено для предотвращения потери конфигурации.
источник
Найденный модуль, используйте модуль Easy Install для очистки активной конфигурации без использования devel или drush . Это работает, даже если вы пропустили необязательную папку и принудительную опцию в файлах конфигурации вашего модуля ( yml )
источник
У меня такая же проблема для сайта Пантеона. Я ввел команду drush
это работа для меня.
источник
С
drush en
этим работает!РЕДАКТИРОВАТЬ: есть лучшее решение сейчас, см .: Как удалить объект конфигурации из активной конфигурации?
источник
Если вы хотите добавить конфиги в свой пользовательский модуль, но они уже существуют в активной конфигурации, и по какой-то причине вы не можете использовать drush для удаления этих конфигов (в моем случае, потому что это часть профиля установки), и вы уверены, что не будет проблем с перезаписью конфигурации, вот подход к замене этих настроек.
Добавьте новую папку в ваш пользовательский модуль, / config / hook_install и добавьте ваши файлы config .yml в эту папку, а затем в hook_install вашего модуля.
источник