In Listenansicht Spaltenbreite 100% statt 50% via CustomField bei Produkt

Hallo,

ich habe aktuell ein zweispaltiges Layout in der Listenansicht. Bei manchen Produkten würde ich gerne via CustomField definieren, dass diese in der Listenansicht über die volle Breite gehen.

Dazu habe ich im /component/product/listing.html.twig folgendes angelegt:

{% sw_extends '@Storefront/storefront/component/product/listing.html.twig' %}


{% if customFields.custom_spaltenbreite_ah_100percent == 1 %}
	{% set listingColumns = 'col-sm-12 col-lg-12 col-xl-12' %}
{% else %}
	{% set listingColumns = 'col-sm-12 col-lg-6 col-xl-6' %}
{% endif %}

Die Abfrage des Feldes funktioniert im Produkt-Detailtemplate so. Aber im List-Template leider nicht. Da sehe ich bei den Variablen überhaupt kein CustomField um das zu debuggen. Vermutlich, weil ich das ja pro Produkt setze.

Die Frage ist also:

  • Wie kann ich Variablen die Produkte betreffen in der List-Ansicht abfragen (einfach page. weglassen funktioniert nicht)
  • Kann ich an der Stelle (listing.html.twig) überhaupt Produktbezogene Variablen abfragen?

Bitte um Hiiiilfe :slight_smile:
Danke.

Gefunden:

Lösung ist, falls das auch wer braucht: Ich muss die Abfrage in der for-Schleife der Produkte machen:

			{% block element_product_listing_col %}
				{% for product in searchResult %}
					{% if product.customFields.custom_spaltenbreite_ah_100percent === true %}
						{% set listingColumns = 'col-sm-12 col-lg-12 col-xl-12' %} 
					{% else %}
						{% set listingColumns = 'col-6 col-sm-6 col-lg-6 col-xl-6' %}
					{% endif %}
					
					<div class="cms-listing-col {{ listingColumns }}">
						{# {{ product.customFields.custom_spaltenbreite_ah_100percent }} #}

						{% block element_product_listing_box %}
							{% sw_include '@Storefront/storefront/component/product/card/box.html.twig' with {
								'layout': boxLayout,
								'displayMode': displayMode
							} %}
						{% endblock %}
					</div>
				{% endfor %}
			{% endblock %}