Hallo liebe Community,
ich möchte gerne verhindern, dass bei Produkten mit Staffelpreisen im Listing der „in den Warenkorb“-Button durch ein „Details“-Button ersetzt wird.
Ihn grundsätzlich nicht zu ersetzen ist mir bereits gelungen, indem ich die „if-else“-Funktion beginnend ab Zeile 7 in der „storefront/component/product/card/action.html.twig“ gelöscht habe.
{% if displayBuyButton and config('core.listing.allowBuyInListing') %}
Leider gelingt es mir nicht stattdessen diese Funktion nur bei Staffelpreisen zu deaktivieren. Kann mir jemand helfen, dies zu erreichen? Was muss ich dafür ergänzen?
Vielen Dank im Voraus!
Hier nochmal die gesamte „storefront/component/product/card/action.html.twig“
{% set id = product.id %}
<div class="product-action">
{% set isAvailable = not product.isCloseout or (product.availableStock >= product.minPurchase) %}
{% set displayFrom = product.calculatedPrices.count > 1 %}
{% set displayBuyButton = isAvailable and not displayFrom and product.childCount <= 0 %}
{% if displayBuyButton and config('core.listing.allowBuyInListing') %}
{% block component_product_box_action_buy %}
{# @var product \Shopware\Core\Content\Product\SalesChannel\SalesChannelProductEntity #}
<form action="{{ path('frontend.checkout.line-item.add') }}"
method="post"
class="buy-widget"
data-add-to-cart="true">
{% block component_product_box_action_buy_csrf %}
{{ sw_csrf('frontend.checkout.line-item.add') }}
{% endblock %}
{% block component_product_box_action_form %}
{% block component_product_box_action_buy_redirect_input %}
{# fallback redirect back to detail page is deactivated via js #}
<input type="hidden"
name="redirectTo"
value="frontend.detail.page">
<input type="hidden"
name="redirectParameters"
data-redirect-parameters="true"
value='{"productId": "{{ product.id }}"}'>
{% endblock %}
{% block page_product_detail_buy_product_buy_info %}
<input type="hidden"
name="lineItems[{{ id }}][id]"
value="{{ id }}">
<input type="hidden"
name="lineItems[{{ id }}][referencedId]"
value="{{ id }}">
<input type="hidden"
name="lineItems[{{ id }}][type]"
value="product">
<input type="hidden"
name="lineItems[{{ id }}][stackable]"
value="1">
<input type="hidden"
name="lineItems[{{ id }}][removable]"
value="1">
<input type="hidden"
name="lineItems[{{ id }}][quantity]"
value="{{ product.minPurchase }}">
{% endblock %}
{% block page_product_detail_product_buy_meta %}
<input type="hidden"
name="product-name"
value="{{ product.translated.name }}">
{% endblock %}
{% block page_product_detail_product_buy_button %}
{# @deprecated tag:v6.5.0 - Bootstrap v5 removes `btn-block` class, use `d-grid` wrapper instead #}
{% if feature('v6.5.0.0') %}
<div class="d-grid">
<button class="btn btn-buy"
title="{{ "listing.boxAddProduct"|trans|striptags }}">
{{ "listing.boxAddProduct"|trans|sw_sanitize }}
</button>
</div>
{% else %}
<button class="btn btn-block btn-buy"
title="{{ "listing.boxAddProduct"|trans|striptags }}">
{{ "listing.boxAddProduct"|trans|sw_sanitize }}
</button>
{% endif %}
{% endblock %}
{% endblock %}
</form>
{% endblock %}
{% else %}
{% block component_product_box_action_detail %}
{# @deprecated tag:v6.5.0 - Bootstrap v5 removes `btn-block` class, use `d-grid` wrapper instead #}
{% if feature('v6.5.0.0') %}
<div class="d-grid">
<a href="{{ seoUrl('frontend.detail.page', {'productId': id}) }}"
class="btn btn-light"
title="{{ "listing.boxProductDetails"|trans|striptags }}">
{{ "listing.boxProductDetails"|trans|sw_sanitize }}
</a>
</div>
{% else %}
<a href="{{ seoUrl('frontend.detail.page', {'productId': id}) }}"
class="btn btn-block btn-light"
title="{{ "listing.boxProductDetails"|trans|striptags }}">
{{ "listing.boxProductDetails"|trans|sw_sanitize }}
</a>
{% endif %}
{% endblock %}
{% endif %}
</div>
{% block component_product_box_action_meta %}
<input type="hidden"
name="product-name"
value="{{ product.translated.name }}">
<input type="hidden"
name="product-id"
value="{{ id }}">
{% endblock %}
{% endblock %}