Sur Drupal 8.1, je continue d'exécuter ce type de messages lorsque j'essaie d'activer un module personnalisé ou une fonctionnalité personnalisée qui apporte des modifications à la page de base. (ajouter des champs).
C'est vraiment ennuyeux ...
Pas:
- Effacer entièrement la base de données
- allez dans /install.php et choisissez Profil standard
- Maintenant que le site est en cours d'exécution, accédez à Étendre
- Sélectionnez Fonction - Page de base
Résultat:
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.
Eh bien oui ... c'est ce que je veux faire: changez ces paramètres par défaut!
Expexted:
Pouvoir installer ma fonctionnalité qui apporte quelques modifications à la page de base.
Ma fonction
Voici ma fonctionnalité créer avec le module fonctionnalités
Il ajoute essentiellement deux champs, banner_image et background_image à la page de base
Des dossiers:
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
Pourquoi cette chose simple n'est pas prise en charge? Est-ce un bug? Que dois-je faire pour pouvoir utiliser ma fonction?
Réponses:
Avec drush, vous pouvez probablement faire
supprimer les configurations qui se plaignent
la source
optional/
dossier pour le fermer. Mais je ne suis pas sûr de toutes les implications ...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).
après avoir configuré mon code de site git source et base de données sur une autre machine .drush pm-uninstall lightning_layout
a fonctionné mais quand j'ai essayé de le réinstaller avecdrush en lightning_layout
j'ai obtenu cette erreur de ligne de commande "Dans la ligne 65 de PreExistingConfigException.php: les objets de configuration (field.storage.node.panelizer) fournis par lightning_layout existent déjà dans la configuration active" J'ai donc utilisé votre solution ainsi:drush config-delete field.storage.node.panelizer
et a ensuite pu réactiver le module:drush en lightning_layout
Cette chose n'est pas prise en charge car un module ne peut pas remplacer une entité de configuration qui existe déjà avec l'installation de configuration.
Pour ajouter des configurations de mode formulaire et affichage pour un type de nœud déjà existant, vous devez l'implémenter dans le code dans hook_install ().
Ou vous devez d'abord supprimer le type de nœud sur votre site, mais vous devez également supprimer le contenu.
Et non, ce n'est pas un bug, c'est ainsi qu'il est défini pour éviter toute perte de configuration.
la source
Module trouvé, utilisez Easy Install pour purger la configuration active sans utiliser devel ou drush . Cela fonctionne même si vous avez manqué le dossier facultatif et l'option appliquée dans les fichiers de configuration de votre module ( yml )
la source
J'ai le même problème pour le site du panthéon. J'ai entré la commande drush
c'est du travail pour moi.
la source
Avec
drush en
ça marche!EDIT: il existe une solution bien meilleure maintenant, voir: Comment supprimer un objet de configuration de la configuration active?
la source
Si vous souhaitez ajouter des configurations à votre module personnalisé mais qu'elles existent déjà dans la configuration active, et pour une raison quelconque, vous ne pouvez pas utiliser drush pour supprimer ces configurations (dans mon cas, car cela fait partie d'un profil d'installation), et vous êtes sûr il n'y aura pas de problème avec l'écrasement de la configuration, voici une approche pour remplacer ces configurations.
Ajoutez un nouveau dossier dans votre module personnalisé, / config / hook_install et ajoutez vos fichiers config .yml dans ce dossier, puis dans hook_install de votre module.
la source