Textbausteine über Zahlart im Checkout einbauen

Problemstellung heute in unserer Internetagentur: Wir möchten in einer Website / einem Onlineshop (umgesetzt mit Shopware 5) oberhalb einer ausgewählten Zahlungsart einen Textbaustein einbauen, den wir frei verändern können. In diesem speziellen Fall möchten wir oberhalb von verschiedenen Leasing-Modellen einen Hinweis einblenden, dass in einem Textfeld weitere Angaben erforderlich sind. In unserem Shopware 5 Onlineshop verwenden wir zudem PayPal Plus, so dass PayPal-fremde Zahlarten über das PayPal Plus Modul ausgespielt werden. Somit greifen wir hier nicht direkt in das Standard-Bare-Theme ein, sondern müssen das PayPal Plugin in unserem Theme abändern.

 

 

Das Ergebnis soll dann ungefähr so aussehen:

 

Download.png

 

Hierzu müssen wir dem Theme mitteilen, dass die Theme-Anweisungen nach den Plugin-Anweisungen ausgeführt werden sollen. Dies machen wir in der Datei

 

/themes/Frontend/DEINTHEME/Theme.php

 

mit der Anweisung

 

protected $injectBeforePlugins = false;

 

Danach erstellen wir in unserem Theme die Datei

 

/themes/Frontend/DEINTEHME/frontend/paypal_unified/plus/checkout/custom_shipping_payment/custom_payment_method.tpl

 

und verändern den gewünschten Block abhängig von der gewünschten Zahlweise (in unserem Fall ID 88) mit den Codezeilen

 

 

{extends file='parent:frontend/paypal_unified/plus/checkout/custom_shipping_payment/custom_payment_method.tpl'}

{block name='frontend_checkout_payment_content_paypal_unified_custom_payment_item'}

                {if $payment_mean.id eq 88}

                               <div class="payment--method block method unified--payment leasing-comment">

                                               <div class="method--description">

                                                               <p>{s namespace="frontend/paypal_unified/plus/checkout/custom_shipping_payment" name='DEINTEXTBAUSTEINNAME'}{/s}</p>

                                               </div>

                               </div>

                {/if}

                {$smarty.block.parent}

{/block}

 

 

Das war's. Gesehen in unserer Onlineshop Agentur in einem Webshop auf Basis von Shopware 5.6.4.