Eu tenho um recurso instalado usando um perfil de instalação. Mas sempre tenho que ir e reverter um componente específico para que ele não seja mais substituído (para que, por exemplo, os blocos do recurso apareçam). Eu só queria saber se posso executar esta etapa programaticamente usando o próprio código no perfil de instalação.
Na captura de tela abaixo, mostrei o componente que precisa ser revertido programaticamente (na captura de tela, ele já foi revertido, portanto, a caixa de seleção não está disponível).
Respostas:
Aqui estão algumas reflexões sobre como redefinir seus recursos de forma programática ou como scripts de instalação de complemento.
Você pode usar o Drush para redefinir o recurso :
drush features-revert [feature name]
Outro pensamento seria usar features_revert () durante o processo de instalação:
features_revert(array('module' => array('component')));
O módulo Strongarm também poderia ser útil para forçar seu recurso a manter seu estado padrão, eu acho.
Eu tenho que concordar com @Letharion no comentário dele sobre o seu OP. Gostaria de saber que outras coisas importantes não estão sendo modificadas por engano durante o processo de instalação.
fonte
Reverter TODOS os componentes no recurso
fonte
Você pode reverter um único módulo de recursos com features_revert_module () .
fonte
Onde 'module' é o nome do módulo de recursos específicos (ou seja, o módulo gerado quando você baixa o recurso) e 'component' são os componentes desses recursos. Portanto, se você quiser apenas reverter os campos definidos no recurso, poderá usar 'campo' para o componente.
fonte
Eu poderia resolver o problema usando a função hook,
fe_block_settings_features_revert('basic_site')
onde fe_block_settings é o hook, ou seja, o componente aqui e basic_site é o nome do recurso / módulo.fonte
Use
features_revert()
para reverter componentes específicos apenas onde a sintaxe é:por exemplo:
Para reverter o módulo inteiro (com todos os seus componentes), use em seu
features_revert_module()
lugar, por exemplo:Regras
Para regras, esse método é muito mais rápido (para reverter regra única):
Para reverter todas as regras, é:
Veja: Adicionar drush rules-revert [# 2474577] | Drupal.org
fonte
Para reverter todos os componentes substituídos de todos os Recursos no seu Perfil de instalação, adicione o seguinte ao hook_profile_tasks () do arquivo .profile:
fonte
fonte