wir würden gerne ein eingesetztes Plugin SwagCustomProducts durch unser Theme überschreiben. Beim Überschreiben von Plugins stößt man ja leider regelmäßig wieder vor einigen Fragen:
Wie kann ich Plugins in meine Entwicklungsumgebung bekommen um diese durch das Theme zu bearbeiten?
Welches sind die richtigen Pfade und extends-Befehle?
Wie vermeide ich, dass es zu Errors kommt, wenn ich includes ändere und das Plugin z.B.: nicht mehr installiert ist?
Zu 1 - Aktuell arbeite ich das lokal aus und lade das Theme immer wieder hoch und prüfe… das ist sehr mühsam…
THEMENAME/frontend/detail/index.tpl - {extends file=‘parent:frontend/detail/index.tpl’} --> geht
THEMENAME/frontend /swag_custom_products /detail/index.tpl - {extends file=‘parent:frontend/ swag_custom_products /detail/index.tpl’} --> geht nicht
THEMENAME/frontend /plugins/swag_custom_products /detail/index.tpl - {extends file=‘parent:frontend/ plugins/swag_custom_products /detail/index.tpl’} --> geht nicht
Ich hatte mal gelesen, dass Plugins, welche im Unterordner /frontend/ einen eigenen Plugin-Ordner haben (/swag_custom_products/) auch mit diesem gezielt im Theme angesprochen werden können.
Das führt mich nämlich zu Problem Nr. 3 :
Die Änderung, welche ich in der THEMENAME/frontend/detail/index.tpl mache, führt dazu, dass es zu einem Fehler kommt, wenn das Plugin nicht installiert ist. (Ich verschiebe nämlich einen include-Befehl. Gibt es die dahinterliegende Datei nicht, kommt es zu einem PHP-Fehler.) Wäre natürlilch praktisch, wenn der die Bearbeitung des Plugins auch nur das Plugin-File ersetzt und somit auch nur greift, wenn das Plugin installiert ist. Derzeit behelfe ich mir mit einer Variable, welche ich gefunden habe {if $swagCustomProductsTemplate}{/if} um den Include nur auszuführen, wenn das Plugin auch aktiv ist.
Hoffe jemand kennt Antworten auf meine vielen Fragen
vielen Dank für deine Rückmeldung. Die Veränderungen sollen bewirken, dass der Wrapper von Custom Products unter der normalen Variantenkonfiguration erscheint.
anbei die Datei unter frontend/swag_custom_products/detail/index.tpl:
ich bin auch gerade dabei zu versuchen Plugins zu überschreiben.
/engine/Shopware/Plugins/Community/Frontend/NetgradeAdditionalInfos/Views/frontend/listing/product-box/box-basic.tpl
sollte im meinem Theme überschrieben werden , keine blocks die ausgetauscht werden.