it-swarm.com.de

Wie kann ich eine Joomla-Erweiterung eines Drittanbieters zurückentwickeln, um sie zu klonen und Änderungen daran vornehmen zu können?

Ich habe eine Vorlage von einem Anbieter, in der ein neuer Inhaltstyp und eine Überschreibung für com_content enthalten sind. Die Vorlage ist eine schnelle Installation.

Ich möchte herausfinden, welche Dateien vom Entwickler der Vorlage/Erweiterung zusätzlich zum Joomla Core CMS hinzugefügt wurden, welche Dateien geändert wurden und wie sie geändert wurden. Vergleichen Sie die Datenbanken auf Unterschiede

Ich benutze auch PHP Storm (für das ich brandneu bin).

Wenn ich diesen Unterschied vergleiche, bin ich zu 95% sicher, dass ich die Erweiterung klonen kann (ich möchte das Original unverändert beibehalten) und dann einige geringfügige Anpassungen vornehmen kann, um praktisch einen Klon derselben Erweiterung auszuführen, jedoch mit der gewünschten Änderungen.

Wie kann ich den Vergleich der Unterschiede zwischen Dateien und Datenbanken mit den Tools mit PHP Storm (und allen von Ihnen empfohlenen Tools) anstellen?).

Mich interessiert diese Antwort als Reverse-Engineering-Prozess, den ich wie folgt beschreiben kann:

  1. Sie erhalten eine Vorlage eines Drittanbieters, die einige Erweiterungen hinzugefügt und einige Kernüberschreibungen erstellt hat.

  2. Sie müssen die Änderungen rückentwickeln (einschließlich aller Änderungen an der Datenbank).

  3. Sie laden ein sauberes Joomla 3.x.x und den Template Quickstart herunter und entpacken diese in 2 separate Projektordner (Repositories 3).

  4. Dann 'x' Methode, um die Unterschiede zu vergleichen.

Was das Vornehmen der tatsächlich erforderlichen spezifischen Modifikationen angeht, so würde dies den Rahmen dieser Frage sprengen. Ich suche nach einer guten Methodik für # 4 oben, der Rest stellt diese Frage nur in den Kontext.

Ich habe PHP Storm und Git HUB - sind diese Tools ausreichend? Wie mache ich Schritt 3 oben?

5
NivF007

Normalerweise sollte sich eine Vorlage mit dem Layout und den Präsentationselementen befassen. Abgesehen davon muss ich sagen, dass ich in meiner gesamten Karriere bei Joomla keine Vorlage (einschließlich Schnellstartpaketen) mit Änderungen an der Kerndatenbank gesehen habe, und ich denke nicht, dass es eine Vorlage geben sollte - es sei denn, die Paket wurde von amateurhaften Entwicklern entwickelt. Bekannte Anbieter würden das nicht tun.

Also löschen wir DB-Modifikationen aus der Frage.

Was eine Vorlage enthalten kann, sind Vorlagenüberschreibungen. Diese beziehen sich normalerweise auf einige Kernkomponenten und Module und enthalten HTML-Modifikationen, die erforderlich sind, um das Layout/Design der angegebenen Vorlage zu erreichen.

Der übliche Ort, um solche Überschreibungen zu finden, ist der HTML-Ordner, der sich im Ordner der Vorlage befindet (es sei denn, die Vorlage oder das Framework verwendet ein erweitertes Überschreibungssystem). In solchen Fällen konsultieren Sie die Dokumentation der Vorlage, um den Überschreibungsordner und den Mechanismus der Überschreibung zu finden Overrides sind implementiert).

Für jede Kernkomponente/jedes Modul oder jedes andere Kernlayout finden Sie den entsprechenden Ordner. Für die Komponente com_content wird beispielsweise ein com_content Ordner innerhalb des html Ordners. Für das Menümodul wird ein mod_menu und so weiter.

Dann gibt es für Komponenten mehr Ordner für jede Ansicht, die überschrieben werden -e. Für com_content sollte es Ordner geben wie: article, category, usw. - und dann in jedem dieser Ordner die eigentliche Vorlagendatei (tmpl), die überschrieben wird.

Wenn Sie wissen möchten, welche Änderungen an den Core- und den überschriebenen Dateien vorgenommen wurden, erledigt ein Dateivergleichstool diese Aufgabe. DiffMerge ist eine plattformübergreifende App, die ich kenne und die Arbeit ziemlich gut erledigen kann. GitHub könnte auch verwendet werden.

5
FFrewin

@FFrewin ist mit seinen Kommentaren zu Vorlagenüberschreibungen genau richtig.
Wenn Sie jedoch der Meinung sind, dass andere Dateien geändert wurden, erhalten Sie möglicherweise eine Sicherheitskomponente wie RSFirewall, die Hashes enthält, um alle Dateien mit Core-Joomla zu vergleichen. Wenn Sie den System-Scan ausführen, wird eine Liste der geänderten Dateien angezeigt.

1
YellowWebMonkey