Wie halte ich Overrides auf dem neuesten Stand?

10

Wie viele wissen, ist es möglich, Vorlagen, Ansichten, Module und Komponenten zu überschreiben.

Das Hauptproblem ist, wenn Joomla! wird aktualisiert und die überschriebenen Elemente (im Vorlagenordner) sind veraltet.

Wie halte ich die Überschreibungen jedes Mal auf dem neuesten Stand, wenn ein Update für Joomla durchgeführt wird?

Muss ich es von Hand machen und jedes neue Update überprüfen, oder gibt es eine andere Möglichkeit, dies zu tun?

JackJoe
quelle

Antworten:

4
  1. Schreiben Sie ein kleines Skript, das md5 der Originaldateien berechnet, die Sie überschrieben haben.
  2. Speichern Sie diesen Dateipfad und MD5 in einer Datei in Ihrer Vorlage
  3. Wenn Joomla aktualisiert wird, führen Sie das obige Skript erneut aus.
  4. Überprüfen Sie den Unterschied in MD5, falls vorhanden, müssen Sie ihn überprüfen.

Tipp: Überschreiben Sie die Dateien nur, wenn diese Änderungen nicht durch CSS-Überschreiben vorgenommen werden können.

Shyam
quelle
Dies scheint eine gute Idee zu sein, aber das Kommentieren der Überschreibung unterscheidet den md5 offensichtlich von den aktualisierten / nicht aktualisierten, die möglicherweise von einem Update stammen, sodass dies nicht funktioniert.
JackJoe
1
Ich frage nach MD5-Originaldateien (aus dem Ordner der Komponentenansicht), nicht nach den Überschreibungen (Dateien, die Sie im Vorlagenordner erstellt haben).
Shyam
1
Ah! Aha! Auf diese Weise kann ich sehen, welche Dateien, die ich überschrieben habe, mit dem Update geändert wurden. Das ist eine gute Idee, ich könnte ein Versionsverwaltungssystem verwenden und einen Zweig nur mit den überschriebenen Dateien haben, so dass ich eigentlich kein Skript schreiben muss.
JackJoe
12

Wenn der Joomla-Kern aktualisiert wird, sollten keine Überschreibungen in Ihrem Vorlagenordner betroffen sein. Deshalb existieren sie.

Bei Joomla-Kernelementen treten Überschreibungen nur selten in Konflikt mit Joomla-Kernaktualisierungen auf. Wenn Sie die Joomla-Kerndateien oder Dateien überschreiben, dokumentieren Sie das Dokumentdokument. Das Kommentieren in der Überschreibungsdatei ist KRITISCH, wenn Ihnen dies regelmäßig passiert und Sie mehr als eine oder zwei Websites verwalten. Sie werden sich einfach nicht erinnern, was Sie geändert haben!

Ihr Code-Editor sollte über eine "Diff" -Funktion verfügen, um die neue Datei mit der alten zu vergleichen und zeilenweise zu ermitteln, welche Änderungen vorgenommen wurden. Wenn Sie gut kommentiert haben, zeigt Ihnen dieser Unterschied genau, was geändert wurde und ob die Datei vom Update betroffen war. Ihre einzigen Änderungen sollten Ihre Überschreibungen sein ... alles andere und Sie müssen gehen und erneut überschreiben.

Überschreibungen von Drittanbietern werden jedoch nur dann zu einem Problem, wenn der Entwickler die MVC-Struktur nicht korrekt verwendet. Wenn eine Komponente oder ein Modul entsprechend angeordnet ist, sollte die betreffende tmpl oder Ansicht nicht von Code-Aktualisierungen betroffen sein.

Wenn diese Erweiterung eine wesentliche Funktionsverschiebung aufweist, müssen Sie auf jeden Fall Dateien dokumentieren / kommentieren und vergleichen.

Toni Marie
quelle
Ein Beispiel für das Überschreiben von Ansichten, die von einem Kernupdate betroffen sind, war Joomla 2.5.16 bis 2.5.18, bei dem die Site aufgrund der Aktualisierung der com_content-Komponente in den Ansichten beschädigt wurde. Dies diffist das, was ich verwende, aber wenn ich mehrere habe Überschreibungen, es ist langwierig und mit vielen verschiedenen Websites sehr schwer für jede zu tun.
JackJoe
Es ist ein interessantes Konzept, Dateien beim Update automatisch zu unterscheiden. Die Diff-Funktion existiert in PHP. Es kann gemacht werden ... von einem anderen Entwickler als mir;)
Toni Marie
3

Ja, Sie müssen die Dateien jedes Mal von Hand vergleichen und die Änderungen aktualisieren. Bei kleineren Updates ist die Wahrscheinlichkeit relativ gering, dass Sie sie anpassen müssen. Bei größeren Upgrades können sich die überschriebenen Dateien jedoch erheblich ändern. Ich würde auch einen einfacheren Weg bevorzugen, aber es ist die einzige Lösung Geldautomat.

Laoneo
quelle
0

Ein Override sollte sich in keiner Joomla-Version ändern. Wenn Sie jedoch feststellen, dass Dateien geändert wurden, können Sie die gesamte Joomla-Installation in Subversion verwalten.

Sie können dann auch die entsprechenden Joomla-Codeversionen in Subversion verwalten und eine Herstellerzusammenführung durchführen: http://svnbook.red-bean.com/de/1.7/svn.advanced.vendorbr.html

jdog
quelle