Hallo,
wenn „displayListingBuyButton“ im Shop konfiguriert wurde, ist es ja möglich schon im Listing, Artikel in den Warenkorb zu werfen. Ich möchte über ein Plugin diese Funktion u.U. abschalten können. Ich habe dazu box-basic.tpl entsprechend erweitert:
{extends file='parent:frontend/listing/product-box/box-basic.tpl'}
{block name="frontend_listing_box_article_buy"}
{if {config name="displayListingBuyButton"} && $PluginConfig.MeineBedingungErfüllt}
<div class="product--btn-container">
{if $sArticle.allowBuyInListing}
{include file="frontend/listing/product-box/button-buy.tpl"}
{else}
{include file="frontend/listing/product-box/button-detail.tpl"}
{/if}
</div>
{/if}
{/block}
Das Ganze funktioniert genau für so viele Artikel, wie in den Storefront-Einstellungen für „Artikel pro Seite“ festgelegt wurde (Standard: 12). Danach wird wieder die box-basic.tpl vom Theme abgearbeitet und meine Änderungen sind futsch. Wie erklärt sich dieses Verhalten ?
Wenn ich die Anpassungen direkt in meinem, von Bare abgeleiteten, Theme mache, geht es problemlos.
Gibt es eine Möglichkeit solche Dinge auch via Plugin zu lösen, also auch ohne Theme-Änderungen?