Templates von Custom-Plugins anpassen - Advanced Cart

Hallo zusammen,

wie kann ich updatesicher die Templatedateien eines eingekauften Plugins, welches unter “custom/plugins/” abgelegt ist, in meinem eigenen Theme anpassen? Hat jemand einen Ratschlag für mich?

Speziell geht es z.B. um das Plugin “Advanced Cart” - wenn ich hier folgende Datei anpassen möchte:

/httpdocs/custom/plugins/SwagAdvancedCart/Resources/views/frontend/swag_advanced_cart/detail/notepad.tpl

wie müsste der Pfad in meinem Theme aussehen, damit die Plugin-Datei entsprechend überschrieben wird? Also wie bei der Templateerstellung selbst unter

/httpdocs/themes/Frontend/MEINTHEME/frontend/ ??

 

Ich bin über jeden Tipp froh und hoffe, ihr könnt mir weiterhelfen.

 

Vorab vielen Dank!
Viele Grüße

Tim

/httpdocs/themes/Frontend/MEINTHEME/frontend/swag_advanced_cart/detail/notepad.tpl 

Sollte es sein. Allerdings muss du die Vererbungshierachie beachten: Getting started with Smarty

Hallo Moritz,

danke für die schnelle Antwort. Das habe ich versucht, leider jedoch noch keinen Erfolg.
Zusätzlich habe ich es versucht mit /httpdocs/themes/Frontend/MEINTHEME/frontend/plugins/swag_advanced_cart/detail/notepad.tpl - leider auch ohne Erfolg.

Beide Pfade habe ich sowohl mit " protected $injectBeforePlugins =  true; " als auch mit " protected $injectBeforePlugins =  false; " probiert …

Auf true habe ich es gestellt, damit das Plugin überhaupt in meinem Theme greift und die Standards des Plugins funktionieren. Wenn ich das Plugin nun in den .tpl’s anpassen möchte, müsste ich doch auf “false” stellen, richtig? Nur dann greift das Plugin wieder gar nicht mehr.

Oder muss ich sonst noch wesentlich mehr (bzw. alle) Daten des Plugins in mein Theme kopieren, als nur die Daten, die ich verändern möchte?

 

Danke vorab!

Viele Grüße
Tim

In der Regel legt man in einem solchen Fall zwei Themes an. Ein Basistheme das $injectBeforePlugins =  true hat und ein Theme was von dem Basistheme ableitet und $injectBeforePlugins =  false hat. Damit bist du dann flexibel und kannst in dem zweiten Theme alle Plugins überschreiben, ohne das alle anderen Plugins Probleme machen.

 

1 Like

Hallo Moritz,

ich muss das leider nochmal aufgreifen, da ich noch nicht weitergekommen bin.

Ich habe nun folgenden Aufbau:

Mein Basis-Theme mit diversen Anpassungen, basierend auf dem Standard-Responsive-Theme.
Die theme.php dieses Themes ist eingestellt auf $injectBeforePlugins =  true

Dazu habe ich noch ein Plugin-Theme erstellt, welches auf meinem Basis-Theme basiert. Dieses ist aktiviert.
Die theme.php dieses Themes ist eingestellt auf $injectBeforePlugins =  false

 

Im Plugin-Theme habe ich folgendes Verzeichnis mit Datei angelegt und Änderungen vorgenommen:
/httpdocs/themes/Frontend/MEIN-PLUGINTHEME/frontend/swag_advanced_cart/detail/notepad.tpl 

Chache geleert etc. - leider kommen die Änderungen nicht zum Tragen (egal was ich mache, ob einfach nur Text hinzugefügt wird oder ein Icon getaischt wird oder Ähnliches…).

 

Hast du oder hat noch jemand eine Idee, woran dies liegen könnte und ob ich ggf. den Pfad doch noch ändern müsste?

 

Vorab vielen Dank!
Viele Grüße - Tim

Mach das einfach nicht als Plug-In Theme und achte auf den korekten Pfad (das httpdocs deines zuletzt geposteten Pfads hat da nichts zu suchen).