Template im Plugin findet keine Beachtung

Hallo Zusammen,

ich habe für einen Kunden ein Plugin entwickelt, welches das Template frontend/checkout/shipping_payment.tpl erweitert. Dies funktioniert soweit sehr gut. Der Kunde hat allerdings ein eigenes Theme und hat dort die frontend/checkout/shipping_payment.tpl überschrieben. Nehme ich das Template aus dem Theme des Kunden heraus, funktioniert mein Template sehr gut.

Mein Aufbau im Plugin:

Views/frontend/checkout/shipping_payment.tpl

In der Bootstrap:

$view->addTemplateDir(
    $this->Path().self::TEMPLATE_PATH
);

Der Inhalt meines Templates:

{extends file="parent:frontend/checkout/shipping_payment.tpl"}
{block name="frontend_index_header_javascript_jquery" append}
    
    
        var $activePaymentId = 'payment_mean{$activePaymentId}';
    
{/block}
{block name="frontend_index_content" append}
    {include file="frontend/plugin/MEIN_TEMPLATE.tpl"}
{/block}

Hat jemand eine Idee was ich beachten muss? Muss ich die Blöcke in dem Theme ( frontend/checkout/shipping_payment.tpl ) erweitern? Oder kann man das auch so lösen, dass das direkt über das Template funktioniert?

Stehe da grade etwas auf dem Schlauch. Ich habe natürlich in einen Test-Shop von mir das ganze auch mal ausprobiert. Allerdings beobachte ich das gleiche Verhalten wie bei dem Kunden mit seinem Theme. Dachte erst, es liegt evtl. am Theme des Kunden.

Viele Grüße
Andreas

Schau dir mal die Vererbungshierachie an: Getting started with Smarty

Das Theme des Kunden wird immer deine Anpassung überschreiben insofern er Blöcke komplett ersetzt. 

Danke Moritz,

hat mir nicht wirklich geholfen; aber ich habe natürlich eine Lösung gefunden und einfach mal in ein andere Plugin geschaut, wie die das machen. Das war auch ein Plugin, was die shipping_payment.tpl modifiziert. Dies bedeutet:

  1. Es gibt noch ein Plugin welches die shipping_payment.tpl anreichert
  2. Das Theme des Kunden die shipping_payment.tpl Blöcke ändert
  3. Und mein Plugin

Die Lösung lautet:

$view->extendsTemplate('frontend/checkout/tlpxx_shipping_payment.tpl');

Dennoch Danke für den Tipp!