Freitextfeld Checkbox im Template verwenden funktioniert - manchmal

Ich benutze das Freitextfeld attr6 (Checkbox) um Artikel als “Bio” zu markieren. Im Listing bekommen diese dann einen “eco badge”.

Im Template habe ich dafür in frontend/listing/product-box/product-badges.tpl folgenden Block eingefügt:

        {* Eco badge *}
		{block name='frontend_listing_box_article_eco'}
			{if $sArticle.attr6 == "true"}
				
					Bio
				
			{/if}
		{/block}

Das hat bisher immer funktioniert. Vor kurzem sind mir aber einzelne Produkte aufgefallen die keinen Badge haben. Die Checkbox ist aber gesetzt - bei Variantenartikeln auch in allen Varianten. Seit einiger Zeit gibt es ja in Shopware eine neue “Freitext-Verwaltung”. Es könnte sein, dass die Probleme zeitlich damit zusammenfallen. Hat jemand eine Idee woran das liegen kann?

Danke

Andreas

@analog.eins schrieb:

Ich benutze das Freitextfeld attr6 (Checkbox) um Artikel als „Bio“ zu markieren. Im Listing bekommen diese dann einen „eco badge“.

Im Template habe ich dafür in frontend/listing/product-box/product-badges.tpl folgenden Block eingefügt:

{* Eco badge *}
{block name=‚frontend_listing_box_article_eco‘}
{if $sArticle.attr6 == „true“}

Bio

{/if}
{/block}

Das hat bisher immer funktioniert. Vor kurzem sind mir aber einzelne Produkte aufgefallen die keinen Badge haben. Die Checkbox ist aber gesetzt - bei Variantenartikeln auch in allen Varianten. Seit einiger Zeit gibt es ja in Shopware eine neue „Freitext-Verwaltung“. Es könnte sein, dass die Probleme zeitlich damit zusammenfallen. Hat jemand eine Idee woran das liegen kann?

Danke

Andreas

Hallo,

am besten überarbeitest du die Bedingung einmal in:

{block name='frontend_listing_box_article_eco'}
     {if $sArticle.attr6 == "true" || $sArticle.attr6 == true || $sArticle.attr6 == "1" || $sArticle.attr6 == 1}
          
               Bio
          
     {/if}
{/block}

Vor Shopware Version 5.2 wurden Checkboxfelder als String gespeichert („true“), ab Shopware Version 5.2 als Integer (1). Wenn du jetzt also einen Artikel unter Shopware Version 5.2 erstellst, wird die Checkbox den Wert 1 haben (wenn Sie aktiviert ist). Bei alten kann Sie aber durchaus noch den Wert „true“ besitzen. Mit der überarbeiteten Bedingung oben dürftest du aber alle Fälle abdecken.

Beste Grüße

Sebastian

1 Like

Vielen Dank, das wars.

{if $sArticle.attr6 == "true" || $sArticle.attr6 == 1}

langt auch.