Templates in Haupt- und Subshop

Hallo,

ich habe Haupt- und Subshop, die jeweils unterschiedliche Themes haben.

In einem Plugin mache ich eine Template-Erweiterung. Leider zieht die nur im Subshop. Im Hauptshop ändert sich nichts.

{extends file="parent:frontend/checkout/cart_footer.tpl"}

{block name='frontend_checkout_cart_footer_element'}
     <p>Test</p>
     {$smarty.block.parent}
{/block}

Was muss ich einstellen, damit die Template-Erweiterung in Haupt- und Subshop zieht?

Ich vermute du hast deine Themes falsch angelegt. Bei Verwendung von Subshops muss man sich vorher im klaren sein, wie am Ende das Layout und das Design aussehen soll. Und was bei Anpassungen zu beachten.

Variante 1 - wenn Layout und Design gleich sein soll:

Zunächst wird ein Theme zum Hauptshop angelegt, welches von „Responsive“ ableitet.
Das Theme vom Subshop wird dann als Ableitung vom Hauptshop angelegt. Änderungen werden hier in der Regel im Hauptshop vorgenommen. Nur Anpassungen im Subshop werden auch im Theme vom Subshop vorgenommen.

Varinate 2 - wenn sich Layout und Design unterscheiden:

Für Haupt- und Subshop werden getrennte Theme angelegt, welche von „Responsive“ ableiten. Anpassungen und Änderungen wirken sich nur im jeweiligen Shop aus.

Kurz um, in deinem Falle müsstest du die Variante 1 wählen und Anpassungen die im Haupt- und Subshop greifen sollen, im Theme vom Hauptshop machen.

Danke erstmal für Deine Antwort. Ich möchte via Plugin Template-Änderungen an einem bestehenden Shop (nicht von mir) machen. Da sich Layout und Design von Haupt- und Subshop unterscheiden, ist es Variante 2. Es existieren also zwei Themes.

Das Plugin liest die individuellen Configs von Haupt- und Subshop aus. Jetzt fehlt mir aber noch das Stück Verständnis, wie ich die Templates von beiden Shops über das eine Plugin erweitern kann. Geht das überhaupt?

Könnte die Theme-Unterscheidung im plugin irgendwie über den Subscriber erfolgen:

public function onCollectDirectories(EventArgs $args)
	{
		$dirs = $args->getReturn();

		$dirs[] = $this->pluginBaseDirectory . '/Resources/views/';

		$args->setReturn($dirs);
	}

… vielleicht nochmal zur genaueren Erklärung:

Haupt- und Subshop sind hier zwei unterschiedliche Shops, die eigentlich nichts miteinander zutun haben. Vermutlich aus Kostengründen (Plugins nur einmal kaufen), wurde diese Struktur gewählt.

Ich habe nun ein Plugin gemacht, wo ich die Warenkorbseite von beiden Shops leicht abändern möchte. Das auslesen der unterschiedlichen Configs klappt bereits. Allerdings wirken sich meine Template-Erweiterungen (s.o.) nur im Subshop aus. Warum, verstehe ich nicht. Ich will irgendwie erreichen, das die Änderungen in beiden Shops wirksam werden.

Letzendlich sollen Einblendungen auf der Warenkorbseite realisiert werden, die durch die jeweiligen Config-Tabs (Haupt-/Subshop) im Plugin gesteuert werden.

… ich habe mal in die Theme.php von beiden Themes geschaut. Der Hauptshop wird vom Flat Responsive Theme (8mylez) abgeleitet und der Subshop vom Responsive Theme (shopware). Mein Plugin erweitert offenbar nur die Templates für das Responsive Theme. Gibt es da eine Lösung, wie man die Templates für beide Themes erweitern kann?

Okay, ich konnte jetzt mal in die Implementierung der Themes schauen und habe festgestellt, dass dort merkwürdig programmiert wurde. Da kein Bezug auf das übergeordnete Theme genommen wurde, konnten meine Änderungen im Plugin nicht wirksam werden. Ist also klar, was falsch gelaufen ist.