Aquí está la situación: tengo varios módulos hechos a sí mismos, todos probados y trabajando con el tema predeterminado. Luego compramos e instalamos un nuevo tema. Cambió al nuevo tema y los módulos no se muestran. Después de varias pruebas de prueba / falla, descubrí que necesitaba copiar el diseño correspondiente y los archivos de plantilla en las carpetas correspondientes del tema recientemente instalado.
Entonces, mi pregunta es: ¿qué debo hacer para que todos mis módulos funcionen con cualquier tema instalado después de la configuración del módulo?
configuration
layout
Yaroslav
fuente
fuente
Respuestas:
Ejemplo:
fuente
La dura verdad es que realmente no puedes garantizar que lo serán. Poner sus archivos
base/default
(odefault/default
si anulan las plantillas centrales, ya que no desea sobrescribir los archivos base con una instalación de módulo, aunque esto obliga a mantener duplicados para la edición empresarial) garantizará que se conviertan en los fallos, pero los archivos de tema lo harán ser siempre el más alto nivel de prioridad.La mayoría de los módulos vienen con una guía de instalación, que incluye mencionar copiar los archivos de plantilla al tema del usuario si tienen uno personalizado. Eso es lo mejor que puedes hacer.
fuente
Una cosa que hemos usado un par de veces es el modulo [Fabrizio Branca] [1] [Custom Fallback] [2]. Es un módulo muy útil para especificar su propia jerarquía de respaldo de tema personalizado. Una cosa que puede hacer es especificar:
Luego, cualquier módulo que ponga sus propias plantillas en el
default/default
tema. No funcionará si intentan anularbase/default
paquetes.Puede especificar cualquier número de paquetes / temas en la jerarquía de respaldo personalizada.
fuente
Cualquier plantilla y archivo de diseño
base/default
se cargará a menos que se anule en algún lugar de la ruta. Sin embargo, si su módulo personalizado es un widget de algún tipo, entonces debe asegurarse de que se repita donde sea necesario. Si, por ejemplo, está realizando cambios que se muestran en la página del productogetChildHtml
, entonces esas llamadas también deben estar en el tema correspondiente. Sin embargo, si las plantillas de su módulo son páginas en sí mismas y no se carganbase/default
, entonces algo bloquea la configuración del diseño y debe encontrar qué.fuente
getChild
, de hecho tengo algunas llamadas de este tipo.No hay una respuesta simple de esto. Depende de los módulos que tenga. Por ejemplo, algunas compañías de módulos anulan los archivos principales. Por lo tanto, primero debe comprobar qué archivos disponibles en la
app/etc/modules
yapp/code/local/Mage
,app/code/community/Mage
carpetas. Como ya sabrá, la primera carpeta es una carpeta de inicialización de módulo que puede deshabilitar o habilitar los módulos relacionados por archivos xml. Las dos últimas carpetas (si está disponible) son carpetas de anulación de código central.Luego, abra uno de los archivos xml de ese
etc/modules
directorio disponible . Verás algo como a continuación:Aquí están las partes importantes son
Company
yNamespace
. Cuando visite las carpetasapp/code/local
oapp/code/community
, verá una carpeta llamadaCompany
y seguida por una subcarpeta llamadaNamespace
.Cuando busque
Namespace
, verá una subcarpeta llamada/etc
. Esta carpeta mantiene el archivo de configuración relacionado con el móduloconfig.xml
. Este archivo tiene líneas de configuración relacionadas con el módulo que puede consultar qué archivos están relacionados con este módulo.Como dije en mi primera línea, es difícil de manejar.
fuente