J'ai une fonctionnalité installée à l'aide d'un profil d'installation. Mais je dois toujours aller et inverser un composant particulier afin qu'il ne soit plus remplacé (pour que, par exemple, les blocs de la fonctionnalité apparaissent). Je voulais juste savoir si je pouvais effectuer cette étape par programme en utilisant le code lui-même dans le profil d'installation.
Dans la capture d'écran ci-dessous, j'ai montré le composant qui doit être annulé par programme (dans la capture d'écran, il est déjà rétabli, donc la case à cocher n'est pas disponible).
Réponses:
Voici quelques réflexions sur la réinitialisation de vos fonctionnalités par programme ou en tant que scripts d'installation de module complémentaire.
Vous pouvez utiliser Drush pour réinitialiser la fonctionnalité :
drush features-revert [feature name]
Une autre idée serait d'utiliser features_revert () pendant le processus d'installation:
features_revert(array('module' => array('component')));
Le module Strongarm pourrait également être utile pour forcer votre fonctionnalité à conserver son état par défaut, je pense.
Je suis d'accord avec @Letharion dans son commentaire sur votre OP. Je voudrais savoir que d'autres choses importantes ne sont pas modifiées par erreur pendant le processus d'installation.
la source
Rétablir TOUS les composants dans la fonction
la source
Vous pouvez rétablir un seul module d' entités avec features_revert_module () .
la source
Où «module» est le nom du module de fonctionnalités spécifiques (c'est-à-dire le module généré lorsque vous téléchargez la fonctionnalité) et «composant» sont les composants de ces fonctionnalités. Donc, si vous souhaitez simplement rétablir les champs définis dans la fonctionnalité, vous pouvez utiliser «champ» pour le composant.
la source
Je pourrais résoudre le problème en utilisant la fonction hook
fe_block_settings_features_revert('basic_site')
où fe_block_settings est le hook, c'est-à-dire que le composant ici et basic_site est le nom de la fonction / du module.la source
Utilisez
features_revert()
pour rétablir des composants spécifiques uniquement lorsque la syntaxe est:par exemple:
Pour rétablir le module entier (avec tous ses composants), utilisez à la
features_revert_module()
place, par exemple:Règles
Pour les règles, cette méthode est beaucoup plus rapide (pour rétablir une seule règle):
Pour revenir à toutes les règles, c'est:
Voir: Ajouter des règles de drush-revert [# 2474577] | Drupal.org
la source
Pour rétablir tous les composants remplacés de toutes les fonctionnalités de votre profil d'installation, ajoutez les éléments suivants à hook_profile_tasks () de votre fichier .profile:
la source
la source