¿Cuál es la metodología adecuada para actualizar plantillas?

12

Actualmente, para actualizar las plantillas en nuestro sitio de producción, desconectamos el sitio, cambiamos la plantilla, la desinstalamos, la reinstalamos, cambiamos la configuración de la plantilla y luego volvemos a poner el sitio en línea. Por lo general, no soy fanático de eliminar el sitio por ningún motivo y este proceso permite errores, especialmente con plantillas que se usan solo para unas pocas páginas. Los componentes y demás pueden actualizarse fácilmente, pero parece que esta misma funcionalidad se omite para las plantillas.

¿Existe una mejor metodología para manejar actualizaciones de plantillas que elimine la desconexión del sitio?

Draper Zachary
fuente
¿Qué tipos de cambios está actualizando en la plantilla? ¿Son estas plantillas personalizadas o de un proveedor externo?
David Fritsch
@DavidFritsch Las plantillas con las que trabajamos son personalizadas para nuestros sitios. Los cambios a menudo incluyen modificaciones de JavaScript o CSS, como actualizaciones a Twitter Bootstrap u otros marcos.
Zachary Draper
Soy nuevo en Joomla, así que tal vez me he perdido un poco, pero parece que omito la mayoría de estos pasos al editar mis propias plantillas (una plantilla completamente personalizada con CSS / JS, etc.), que creo que estás haciendo. en lugar de actualizar una plantilla de terceros. Una vez creado e instalado inicialmente en Joomla, no "uso Joomla" en absoluto. Edito los archivos directamente en mi servidor de desarrollo (actualizo el navegador para verificar) y empujo al sitio en vivo cuando termino. Sin desinstalación, reinstalación, cambio de configuración o tiempo de inactividad. ¿Es esto malo? ¿Qué me he perdido? (¡¿Debería ser esta otra pregunta ?!)
MrWhite

Respuestas:

12

Actualizar una plantilla debería ser tan simple como usar el instalador de Joomla para cargar e instalar la versión actualizada de la plantilla.

Sin embargo, para que funcione, el archivo templateDetails.xml debe definir el 'método' como 'actualización', en lugar de 'instalar'.

Puede verificar esto descomprimiendo el archivo de instalación de la plantilla, abriendo el archivo templateDetails.xml y verifique lo siguiente en o alrededor de la línea 3:

<extension version="2.5" type="template" method="upgrade" client="site">

Si el method="install", cámbielo a method="upgrade"y guarde el archivo. Comprima el paquete y apunte al instalador para que esté listo.

Una nota sobre las personalizaciones: este proceso cargará la plantilla completa, posiblemente sobrescribiendo cualquier personalización que haya realizado. Por esta razón, es una buena idea agregar todas y cada una de las personalizaciones que desee hacer a un solo archivo para realizar copias de seguridad y volver a agregarlas fácilmente. Me gusta usar un archivo CSS que denomino 'custom.css' y cargar este archivo al final, para que mis personalizaciones anulen los valores predeterminados.

Zaridan
fuente
Agregar método = "actualización" era exactamente lo que me faltaba. ¡Gracias!
Zachary Draper
Feliz de ayudar. ¡Que te diviertas!
Zaridan
¿Es el proceso diferente entre las versiones de Joomla?
MrWhite
method = "upgrade" es el mismo en todas las versiones de Joomla (lo siento, originalmente me perdí la pregunta)
Zaridan
3

Si no tiene ningún cambio personalizado en la plantilla, simplemente instale el nuevo sobre el actual.

Si realizó algunos cambios personalizados, deberá rehacer los cambios o diferenciar el código de su plantilla actual y el nuevo código de plantilla.

me7hos
fuente
No estoy seguro de entenderlo. No creo que pueda instalar una versión más nueva de una plantilla sobre una anterior. Joomla! devuelve "Instalación de plantilla de advertencia: ya existe una plantilla que utiliza el directorio con nombre: Instalar. ¿Está intentando instalar la misma plantilla nuevamente?" Luego "Error al instalar la plantilla".
Zachary Draper
55
Si recibe una advertencia de este tipo, lo más probable es que el archivo de manifiesto no tenga definido el método adecuado. Verifique el archivo xml de la plantilla para el método definido, y configúrelo en 'actualizar' si está configurado como 'instalar'. Más información sobre los archivos de manifiesto aquí: docs.joomla.org/Manifest_files
Zaridan
1
@ Zaridan Creo que has dado en el punto clave. Debe agregar esto como respuesta e incluir parte del código relevante para que funcione.
David Fritsch
1

Hay algunas opciones de preparación avanzadas. Creo que siteground tiene algo como esto. Hay formas de reemplazar partes de un sitio sin anular todas las tablas de db, por lo que si tiene el tiempo y los recursos para investigar esto, PUEDE hacerlo ... solo toma un buen tiempo de configuración (y tiene para entenderlo).

Pero si está hablando de cambiar el tema en algunas páginas, ¿por qué no cargar el nuevo tema con un nombre diferente y aplicarlo a algunos elementos de menú ocultos mientras trabaja en él? Nadie lo verá y puede ajustar la configuración y luego aplicarla a los elementos de menú correctos cuando haya terminado.

Brian Peat
fuente