Quelle est la méthodologie appropriée pour mettre à jour les modèles?

12

Actuellement, pour mettre à jour les modèles sur notre site de production, nous mettons le site hors ligne, modifions le modèle, désinstallons le modèle, le réinstallons, modifions les paramètres du modèle, puis remettons le site en ligne. Je ne suis généralement pas un fan de la suppression du site pour une raison quelconque et ce processus permet des erreurs, en particulier avec les modèles utilisés uniquement pour quelques pages. Les composants et autres peuvent être mis à jour facilement, mais il semble que cette même fonctionnalité soit omise pour les modèles.

Existe-t-il une meilleure méthodologie pour gérer les mises à jour de modèles qui élimine la mise hors ligne du site?

Draper Zachary
la source
Quels types de modifications mettez-vous à jour sur le modèle? S'agit-il de modèles personnalisés ou de modèles d'un fournisseur tiers?
David Fritsch
@DavidFritsch Les modèles avec lesquels nous travaillons sont personnalisés pour nos sites. Les changements incluent souvent des modifications JavaScript ou CSS, telles que des mises à niveau vers Twitter Bootstrap ou d'autres cadres.
Zachary Draper
Je suis nouveau sur Joomla, alors j'ai peut-être raté une grosse partie, mais je semble ignorer la plupart de ces étapes lors de la modification de mes propres modèles (un modèle entièrement personnalisé avec CSS / JS, etc.) - ce que je crois que vous faites - plutôt que de mettre à jour un modèle tiers. Une fois créé et installé initialement dans Joomla, je n'utilise pas du tout Joomla. Je modifie les fichiers directement sur mon serveur de développement (actualisez le navigateur pour vérifier) ​​et je pousse sur le site en direct une fois terminé. Aucune désinstallation, réinstallation, modification des paramètres ou temps d'arrêt. Est-ce mauvais? Qu'est-ce que j'ai raté? (Devrait-ce être une autre question?!)
MrWhite

Réponses:

12

La mise à niveau d'un modèle doit être aussi simple que d'utiliser le programme d'installation de Joomla pour télécharger et installer la version mise à jour du modèle.

Pour que cela fonctionne, cependant, le fichier templateDetails.xml doit définir la «méthode» comme «mise à niveau», plutôt que «installer».

Vous pouvez vérifier cela en décompressant le fichier d'installation du modèle, en ouvrant le fichier templateDetails.xml et en vérifiant les éléments suivants à ou autour de la ligne 3:

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

Si c'est le cas method="install", remplacez-le par method="upgrade"et enregistrez le fichier. Fermez le package et pointez le programme d'installation dessus et vous devriez être prêt à partir.

Une note sur les personnalisations: ce processus téléchargera le modèle complet, remplaçant potentiellement toutes les personnalisations que vous avez faites. Pour cette raison, c'est une bonne idée d'ajouter toutes les personnalisations que vous aimeriez faire à un seul fichier pour une sauvegarde et une réajout faciles. J'aime utiliser un fichier CSS que je nomme «custom.css» et charger ce fichier en dernier, afin que mes personnalisations remplacent les valeurs par défaut.

Zaridan
la source
L'ajout de method = "upgrade" était exactement ce qui me manquait. Je vous remercie!
Zachary Draper
Heureux d'aider. S'amuser!
Zaridan
Le processus est-il différent entre les versions de Joomla?
MrWhite
method = "upgrade" est la même pour toutes les versions de Joomla (désolé d'avoir à l'origine manqué la question)
Zaridan
3

Si vous n'avez apporté aucune modification personnalisée au modèle, installez simplement le nouveau sur le modèle actuel.

Si vous avez apporté des modifications personnalisées, vous devrez refaire les modifications ou différencier votre code de modèle actuel et le nouveau code de modèle.

me7hos
la source
Je ne suis pas sûr de bien comprendre. Je ne pense pas que vous puissiez installer une version plus récente d'un modèle sur un ancien. Joomla! renvoie "Avertissement Installation du modèle: il existe déjà un modèle utilisant le répertoire nommé: Installer. Essayez-vous de réinstaller le même modèle?" Puis "Erreur lors de l'installation du modèle".
Zachary Draper
5
Si vous recevez un tel avertissement, c'est probablement parce que le fichier manifeste n'a pas la bonne méthode définie. Vérifiez le fichier xml du modèle pour la méthode définie et définissez-le sur «mise à niveau» s'il est défini sur «installer». Plus d'informations sur les fichiers manifestes ici: docs.joomla.org/Manifest_files
Zaridan
1
@Zaridan Je pense que vous avez touché le point clé. Vous devez ajouter ceci comme réponse et inclure une partie du code pertinent pour que cela fonctionne.
David Fritsch
1

Il existe des options de mise en scène avancées. Je pense que Siteground a quelque chose comme ça. Il existe des moyens de remplacer des parties d'un site sans remplacer toutes les tables de la base de données, donc si vous avez le temps et les ressources pour étudier cela, cela PEUT être fait ... cela prend juste un bon temps de configuration (et vous avez pour le contourner).

Mais si vous parlez de changer le thème sur quelques pages, pourquoi ne pas simplement télécharger le nouveau thème sous un nom différent et l'appliquer à certains éléments de menu cachés pendant que vous travaillez dessus. Personne ne le verra et vous pouvez modifier les paramètres, puis l'appliquer aux éléments de menu appropriés lorsque vous avez terminé.

Brian Peat
la source