Qual è la metodologia corretta per l'aggiornamento dei modelli?


12

Attualmente per aggiornare i modelli sul nostro sito di produzione, stiamo portando il sito offline, cambiando il modello, disinstallando il modello, reinstallandolo, modificando nuovamente le impostazioni del modello e quindi rimettendo il sito online. In genere non sono un fan di smantellare il sito per qualsiasi motivo e questo processo consente errori soprattutto con i modelli utilizzati solo per poche pagine. Componenti e simili possono essere aggiornati facilmente, ma sembra che questa stessa funzionalità sia omessa per i template.

Esiste una metodologia migliore per la gestione degli aggiornamenti dei modelli che elimina la disattivazione del sito?


Quali tipi di modifiche stai aggiornando sul modello? Questi modelli personalizzati o quelli di un fornitore di terze parti?
David Fritsch,

@DavidFritsch I modelli con cui lavoriamo sono personalizzati per i nostri siti. Le modifiche spesso includono modifiche JavaScript o CSS, come aggiornamenti a Twitter Bootstrap o altri framework.
Zachary Draper,

Sono nuovo di Joomla, quindi forse mi sono perso un grosso problema, ma mi sembra di saltare la maggior parte di questi passaggi quando modifico i miei modelli (un modello completamente personalizzato con CSS / JS ecc.) - che credo tu stia facendo - piuttosto che aggiornare un modello di terze parti. Una volta creato e installato inizialmente in Joomla, non "uso Joomla". Modifico i file direttamente sul mio server di sviluppo (aggiorno il browser per verificare) e quando ho finito il push sul sito live. Nessuna disinstallazione, reinstallazione, modifica delle impostazioni o tempi di inattività. È male? Cosa mi sono perso? (Questa dovrebbe essere un'altra domanda ?!)
Mr White,

Risposte:


12

L'aggiornamento di un modello dovrebbe essere semplice come l'utilizzo del programma di installazione di Joomla per caricare e installare la versione aggiornata del modello.

Affinché funzioni, tuttavia, il file templateDetails.xml deve definire il 'metodo' come 'aggiornamento', piuttosto che 'installa'.

Puoi verificarlo decomprimendo il file di installazione del modello, aprendo il file templateDetails.xml e verificando quanto segue alla riga 3 o attorno:

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

Se il method="install", cambiarlo in method="upgrade"e salvare il file. Comprimere il pacchetto e puntare il programma di installazione verso di esso e si dovrebbe essere pronti per partire.

Una nota sulle personalizzazioni: questo processo caricherà il modello completo, sovrascrivendo potenzialmente qualsiasi personalizzazione effettuata. Per questo motivo è una buona idea aggiungere tutte le personalizzazioni che potresti voler fare in un singolo file per un facile backup e re-aggiunta. Mi piace usare un file CSS che chiamo 'custom.css' e caricare questo file per ultimo, in modo che le mie personalizzazioni prevalgano sui valori predefiniti.


L'aggiunta di method = "upgrade" era esattamente quello che mi mancava. Grazie!
Zachary Draper,

Felice di aiutare. Divertiti!
Zaridan,

Il processo è diverso tra le versioni di Joomla?
Mr White,

method = "upgrade" è lo stesso per tutte le versioni di Joomla (mi dispiace di aver inizialmente perso la domanda)
Zaridan,

3

Se non hai apportato modifiche personalizzate al modello, installa quello nuovo sopra quello corrente.

Se hai apportato alcune modifiche personalizzate dovrai ripetere le modifiche o diff il tuo codice modello corrente e il nuovo codice modello.


Non sono sicuro di aver capito bene. Non credo che tu possa installare una versione più recente di un modello su una versione precedente. Joomla! restituisce "Installazione modello di avviso: esiste già un modello che utilizza la directory denominata: Installa. Stai tentando di installare nuovamente lo stesso modello?" Quindi "Errore durante l'installazione del modello".
Zachary Draper,

5
Se ricevi questo avviso è molto probabile perché il file manifest non ha il metodo corretto definito. Controllare il file xml del modello per il metodo definito e impostarlo su "aggiorna" se è impostato su "installa". Altre informazioni sui file manifest qui: docs.joomla.org/Manifest_files
Zaridan,

1
@Zaridan Penso che tu abbia centrato il punto chiave. Dovresti aggiungere questo come risposta e includere parte del codice pertinente per farlo funzionare.
David Fritsch,

1

Ci sono alcune opzioni avanzate di stadiazione. Penso che siteground abbia qualcosa del genere. Ci sono modi per sostituire parti di un sito senza sovrascrivere tutte le tabelle db, quindi se hai il tempo e le risorse per esaminarlo, PUO 'essere fatto ... ci vuole solo un buon tempo di installazione (e hai per aggirare il tuo cervello).

Ma se stai parlando cambiando il tema su alcune pagine, perché non caricare semplicemente il nuovo tema con un nome diverso e applicarlo ad alcune voci di menu nascoste mentre ci lavori. Nessuno lo vedrà e potrai modificare le impostazioni e quindi applicarlo alle voci di menu corrette al termine.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.