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:
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.