Respuestas:
Hay dos técnicas relativamente nuevas para hacerlo:
Use modman para que pueda controlar por sí mismo qué implementar para cada entorno. Esto significa que modman deploy [name-of-dev-extension]
solo se ejecuta en su entorno de desarrollo.
Utilice magento-composer con diferentes composer.json
escenarios para diferentes entornos. Y una forma aún más fácil es especificar esas extensiones como módulos de desarrollo y luego instalar el proyecto usando el --require-dev
interruptor en su máquina de desarrollo.
Por lo general, estos se pueden desactivar convenientemente con un indicador de configuración, por lo que son técnicamente activos pero no hacen nada. Si configura este indicador en falso en app/etc/local.xml
su sistema en vivo, debería estar bien.
local.xml
archivo en su repositorio. Que podría ser un caso.
local.xml
generalmente no está en el repositorio
Vea MageTrashApp que se creó recientemente en el Magento Hackathon en Berlín. Le permite desactivar módulos a través del panel de administración.
Una forma simple de hacer esto es deshabilitar el módulo en / etc / modules, presionarlo, ignorar el archivo localmente y habilitarlo nuevamente.
Creo que la mejor manera de lidiar con esto es mantener todos esos módulos en el codePool local y deshabilitar todos los módulos locales en vivo con esta línea en su local.xml:
<disable_local_modules>true</disable_local_modules>
O puede hacer "Desactivar la salida del módulo" en el back-end de su entorno en vivo. (Sistema -> Configuración -> Avanzado). Sin embargo, esto no deshabilita por completo el módulo. Pero tal vez sea suficiente de querer esconderte de eso.
Lo único que se me ocurre es escribir algún código que pueda llevarlo a cabo. Simplemente verifique si está en modo desarrollador ( Mage::getIsDeveloperMode()
) y luego deshabilite los módulos. Encontré algunos detalles más sobre cómo lograr esto aquí: /programming/6520634/magento-how-to-disable-module-programmatic
local
módulos lo obligará a mover todos los demás módulos de local
codePool community
y también lo hará para todas las extensiones futuras. Deshabilitar la salida de los módulos como dijiste aún permite que la extensión se ejecute ralentizando tu tienda. Y la tercera solución requerirá modificaciones que se sobrescribirán con la actualización de las extensiones.
Por lo general, solo los pongo en mi entorno de prueba, pero no los verifico en el sistema de control de versiones, por ejemplo, usando el .gitignore
archivo para excluirlos de ser considerados para comprometerse.
Hay una diapositiva en la conferencia Imagine 2011 de Erik Hansen. Indicó un código en la diapositiva que es el siguiente (para el modo desarrollador)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
aquí está, Erik habilita una configuración basada en los subdominios que puede personalizar usted mismo.