Respostas:
Existem duas técnicas relativamente novas para fazer isso:
Use o modman para poder controlar por si mesmo o que implantar para cada ambiente. Isso significa que você corremodman deploy [name-of-dev-extension]
apenas no seu ambiente de desenvolvimento.
Use o magento-compositor com diferentes composer.json
cenários para diferentes ambientes. E a maneira ainda mais fácil é especificar essas extensões como módulos dev e instalar o projeto usando a --require-dev
opção na sua máquina de desenvolvimento.
Esses geralmente podem ser desativados convenientemente com um sinalizador de configuração, para que eles sejam tecnicamente ativos, mas não estejam fazendo nada. Se você definir esse sinalizador como false no app/etc/local.xml
seu sistema ativo, você estará bem.
local.xml
arquivo em seu repositório. O que pode ser um caso.
local.xml
não é geralmente no repo
Veja o MageTrashApp, criado recentemente no Magento Hackathon em Berlim. Permite desativar os módulos através do painel de administração.
Uma maneira simples de fazer isso é desabilitar o módulo em / etc / modules, pressioná-lo, ignorar o arquivo localmente e habilitá-lo novamente.
Eu acho que a melhor maneira de lidar com isso é manter todos esses módulos no codePool local e desativar todos os módulos locais ao vivo com essa linha no seu local.xml:
<disable_local_modules>true</disable_local_modules>
Ou você pode "Desativar saída do módulo" no back-end em seu ambiente ativo. (Sistema -> Configuração -> Avançado). No entanto, isso não desativa completamente o módulo. Mas talvez seja o suficiente o suficiente para você querer esconder isso.
A única outra coisa que consigo pensar é escrever algum código que possa fazer isso. Basta verificar se está no modo de desenvolvedor ( Mage::getIsDeveloperMode()
) e depois desativar os módulos. Encontrei mais alguns detalhes sobre como fazer isso aqui: /programming/6520634/magento-how-to-disable-module-programmatically
local
módulos forçará você a mover todos os outros módulos do local
codePool para community
e também o fará em todas as extensões futuras. A desativação da saída dos módulos, como você disse, ainda permite que a extensão seja executada desacelerando sua loja. E a terceira solução exigirá modificações que serão substituídas pela atualização das extensões.
Normalmente, eu apenas os coloco no meu ambiente de teste, mas não os faço no sistema de controle de versão, por exemplo, usando o .gitignore
arquivo para excluí-los de serem considerados para confirmação.
Há um slide na conferência Imagine 2011 de Erik Hansen. Ele declarou um código no slide que é o seguinte (para o modo de desenvolvedor)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
aqui está, Erik habilitando uma configuração com base nos subdomínios que você pode personalizá-la.