Zwei Plugins kollidieren, weil sie ins gleiche Template schreiben

Salut,

ich habe zwei Plugins, die verschiedene Ratenpreise einmal in die detail-index Seite und in die Checkout Seiten einfügen.

 

Dies funktioniert recht gut, nur bei der Auswahl der Zahlart kollidierten die beiden.

Beidesmal erweitere ich /frontend/checkout/cart_footer.tpl und das Seltsame ist nun: wenn ich das erste Mal auf „Zahlart ändern“ gehe, wird das Template aus Plugin A geladen. Ändere ich da dann die Zahlart (nur anklicken der neuen Zahlart) lädt der Ajax-Call dann das Template aus Plugin B.

 

Mit {debug} und Xdebug kann ich aber recht eindeutig sehen, dass die richtigen Methoden aufgerufen und das Template mit den richtigen (für die Zahlart ausgewählte Variablen aus dem Plugin) geladen werden.

Beide Templates sehen wie folgt aus (wobei sie sich quasi nur bei den genutzten Variablen unterscheiden:

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

{if ($Rents && !$Rent) || $Rent}
    {* Basket sum *}
    {block name='frontend_checkout_cart_footer_field_labels_sum'}
        
            
                ({s name="CartFooterLabelRateTime"}Laufzeit:{/s}
            
            
                {$Rent.time} {s name="RateMonth"}Monate{/s})
            
        
        
            
                {s name="CartFooterLabelRateTotal"}Mtl. Gesamtbelastung:{/s}
            

            
                {if $sAmountWithTax && $sUserData.additional.charge_vat}
                    {($sAmountWithTax/$Rent.time)|currency}
                {else}
                    {($sAmount/$Rent.time)|currency}
                {/if}
            
        
        
            
                {s name="CartFooterLabelRateTotalNet"}Mtl. Gesamtbelastung ohne MwSt:{/s}
            

            
                {($sAmountNet/$Rent.time)|currency}
            
        
        {$smarty.block.parent}
    {/block}
{/if}

 

Und die eigentliche Frage: warum kollidieren beide Templates, bzw. wie kann ich verhindern, dass das falsche geladen wird?

Da müsstest du beide plugin hersteller kontaktieren damit sich diese zusammensprechen können um das individuell anzupassen. Hatte auch mal so ein fall. Selber kann man da ja nichts im plugin ändern.

 

@PhiloGant schrieb:

Und die eigentliche Frage: warum kollidieren beide Templates, bzw. wie kann ich verhindern, dass das falsche geladen wird?

Hallo,

das liegt ganz einfach daran: wenn zwei Plugins den gleichen Shopware Block versuchen zu erweitern, kann ja nur ein Plugin „gewinnen“. Das kann in deinem Fall in dem einen Shopware Block das eine und in dem anderen Shopware Block das andere sein. Hier kann man maximal die Hersteller kontaktieren und Sie fragen, ob Sie, wenn möglich, Ihre Plugins zueinander kompatibel machen können.

Beste Grüße

Sebastian