Der beste Weg, um die Datei index.php aus einer Joomla-Vorlage zu überschreiben

7

Ich verwende Protostar als Vorlage für meine 3.3.1-Website. Ich habe die index.php geändert, um die Modulpositionen neu zu gestalten und weitere hinzuzufügen.

Ich habe gerade meine Website auf Joomla 3.3.3 aktualisiert und ... ich habe alle meine Änderungen verloren. (Ich habe ein Backup also nicht die große Sache).

Jetzt frage ich mich, wie ich die index.php am besten überschreiben kann, um meine Änderungen nicht bei jedem Update zu verlieren. Es scheint nicht möglich zu sein, dass meine Vorlage index.php template/protostar/htmlwie die anderen Überschreibungen im Ordner überschrieben wird.

Ich habe in einem Forum festgestellt, dass ich eine Kopie des Ordners protostar erstellen und ihn in (sagen wir) protostarperso umbenennen muss. Ist das der beste Weg, es zu tun?

Vielen Dank!

MagTun
quelle

Antworten:

9

Ja, der beste Weg ist, die gewünschte Vorlage von Joomla admin zu kopieren. Gehen Sie zu Extensions > Template Manager > Templatesund klicken Sie auf die gewünschte Vorlage.

Template Manager :: Templates

Klicken Sie dann auf Copy Templateund geben Sie den neuen Namen ein.

Geben Sie hier die Bildbeschreibung ein

Machen Sie es dann zum Standard und arbeiten Sie an der index.phpDatei.

Randnotizen:

Der Grund, warum Ihre Änderungen überschrieben wurden, liegt darin, dass bei der ersten Veröffentlichung der Protostar-Vorlage mit Joomla 3.0.0 einige Korrekturen vorgenommen wurden und die Protostar-Vorlage immer installiert wird, da jedes Update-Paket alle Updates seit 3.0.0 enthält von Grund auf neu.

Denken Sie daran, dass das, was Sie getan haben, ein hervorragendes Beispiel dafür ist, warum das Bearbeiten von Kerndateien eine schlechte Idee ist. Ich kenne einige Leute, die Kerndateien stark modifiziert haben und keine Backups hatten und sich daher ziemlich darüber ärgern, dass sie ihre Änderungen nicht zurückbekommen können.

Farahmand
quelle
2
Ahh hat gerade meine Antwort entfernt. Anscheinend ist das Duplizieren des Stils nicht dasselbe wie das Kopieren der Vorlagenanzeige, das nicht vor Überschreibungen geschützt ist. Einige Randnotizen aus meiner Antwort zu Ihrer nur als Extra hinzugefügt
Lodder
Vielen Dank Fari für den Druckbildschirm. Ich wusste nichts über diese Backend-Funktionen. Dank Ihnen bin ich davor geschützt, meine Änderungen zu verlieren!
MagTun
@Lodder, danke für die Randnotizen, ich werde jetzt vorsichtiger mit Überschreibungen sein (ich mache sie manchmal, aber nicht immer)
MagTun
@Lodder Ich habe gerade gedacht, dass ich beim Kopieren der Protostar-Vorlage alle Korrekturen verlieren werde, die in Protostar in der neuen Joomla-Version vorgenommen wurden. Aber ich denke, es gibt keine andere Möglichkeit, als entweder die Kerndatei zu bearbeiten / ein Backup zu erstellen / zu aktualisieren / die Kerndateien mit vorherigen Änderungen zu bearbeiten (ein bisschen Ärger, aber behalten Sie die vorgenommenen Korrekturen bei) ODER die Vorlage zu duplizieren (einfach, aber ich verliere die Korrekturen). Vielleicht gibt es einen dritten Weg, dies zu tun?
MagTun
2

Es ist auch möglich, die Linux / UNIX-Befehle diff und patch zu verwenden, um die Änderungen zu speichern, die Sie an den Vorlagenkerndateien vorgenommen haben, damit Sie sie bei der Aktualisierung problemlos erneut auf die Vorlage anwenden können.

So erstellen Sie eine Patch-Datei, die alle Änderungen enthält, die Sie an den Vorlagenkerndateien vorgenommen haben:

  1. Installieren Sie die neueste Version der Vorlage (Neuinstallation).
  2. Verwenden Sie das Verfahren Vorlage kopieren, um die Vorlage in ein neues Verzeichnis zu kopieren.
  3. Nehmen Sie Änderungen an den Vorlagenkerndateien im neuen Verzeichnis vor.
  4. Stellen Sie sicher, dass Sie sich im Verzeichnis joomla_root / template befinden.
  5. diff -rupN template_original / template_new /> template.patch

So wenden Sie die Patch-Datei auf die kürzlich aktualisierte Vorlage an:

  1. Aktualisieren Sie die Vorlage mit der neuesten Version.
  2. Verwenden Sie das Verfahren Vorlage kopieren, um die Vorlage in ein neues Verzeichnis zu kopieren.
  3. Stellen Sie sicher, dass Sie sich im Verzeichnis joomla_root / template / template_new befinden.
  4. Patch -p1 <template.patch

Ich hoffe das hilft.

Der Zehn-Minuten-Leitfaden zum Diff und Patch

Chrissy
quelle