Pregunta

Hay algunas extensiones agradables para los desarrolladores de Magento que generalmente no desea tener en un sistema en vivo.

¿Cómo puede mantenerlos en el repositorio del proyecto, pero evite que estén expuestos en un taller en vivo?

¿Fue útil?

Solución

Hay dos técnicas relativamente nuevas para hacerlo:

  • Usar Modman Por lo tanto, podrá controlar usted mismo qué implementar para cada entorno. Esto significa que corres modman deploy [name-of-dev-extension] Solo en su entorno de desarrollo.

  • Usar magento-compositor con diferente composer.json Escenarios para diferentes entornos. E incluso la forma más fácil es especificar esas extensiones como modules de desarrollo y luego instalar el proyecto utilizando el --require-dev Enciende tu máquina de desarrollo.

Otros consejos

Los que generalmente se pueden deshabilitar convenientemente con un indicador de configuración, por lo que técnicamente son activos pero no hacen nada. Si configura este indicador en falso en app/etc/local.xml De su sistema en vivo, debería estar bien.

Ver Magetrashapp que fue creado en el Magento Hackathon en Berlín recientemente. Le permite desactivar módulos a través del panel de administración.

Una forma simple de hacerlo es deshabilitar el módulo en /etc /módulos, 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 backend en su entorno en vivo. (Sistema -> Configuración -> Avanzado). Sin embargo, esto no deshabilita por completo el módulo. Pero tal vez sea suficiente de que quieras esconderte.

Lo único que puedo pensar es escribir algún código que pueda lograr esto. Simplemente verifique si está en modo de desarrollador (Mage::getIsDeveloperMode()) y luego deshabilitar los módulos. Encontré algunos detalles más sobre cómo lograr esto aquí: https://stackoverflow.com/questions/6520634/magento-how-to-disable-module-programatáticamente

Por lo general, solo los pongo en mi entorno de prueba, pero no los revise en el sistema de control de versiones, por ejemplo, utilizando el .gitignore Archivo para excluirlos de ser considerados para comprometerse.

Hay una diapositiva en la conferencia Imagine 2011 de Erik Hansen. Dijo un código en la diapositiva que está a continuación (para el modo de 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 personalizarlo usted mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top