Kaufbutton soll auf Attribut reagieren

Hallo,

da wir in unserem Shop auch Events verkaufen, wollte ich den Button „In den Warenkorb“ für Event-Artikel umbenennen in „Jetzt buchen“. Dafür habe ich ein Artikel-Freitextfeld namens „Event“ vom Typ Checkbox erstellt sowie einen neuen Textbaustein namens „DetailBuyActionAddEvent“. 

Die detail/buy.tpl habe ich folgendermaßen angepasst:

					{* "Buy now" button *}
					{block name="frontend_detail_buy_button"}
						{if !$sArticle.attr6} {* Prüfe auf die Checkbox "Event" *}
							{if $sArticle.sConfigurator && !$activeConfiguratorSelection}
								
									{s name="DetailBuyActionAdd"}{/s} 
								
							{else}
								
									{s name="DetailBuyActionAdd"}{/s} 
								
							{/if}
						{else}
							{if $sArticle.sConfigurator && !$activeConfiguratorSelection}
								
									{s name="DetailBuyActionAddEvent"}{/s} 
								
							{else}
								
									{s name="DetailBuyActionAddEvent"}{/s} 
								
							{/if}
						{/if}							
					{/block}

Diese Unterscheidung funktioniert auch bei bestehenden Artikeln. ABER: Bei neuen Artikeln, die die Checkbox „Event“ nicht aktiviert haben, steht nun trotzdem „Jetzt buchen“ anstelle von „In den Warenkorb legen“. Bei allen vor der Code-Änderung vorhandenen Artikel funktioniert die Unterscheidung korrekt.

Kann mir jemand sagen, was der Fehler ist?

probiere doch mal mit smarty {debug} (oder {$sArticle.attr6|var_dump}) und schaue was für ein wert in $sArticle.attr6 drin ist. wird smarty diese als false interpretieren?

ps. ich kann innern das irgendwas in shopware speichert “false”/“true” als text ins datenbank…

1 „Gefällt mir“

Hallo Benjamin,

probier es mal so:

{if $sArticle.attr6 == 'true'}

{/if}

Gruß
Marco

 

 

 

1 „Gefällt mir“

@mac schrieb:

Hallo Benjamin,

probier es mal so:

{if $sArticle.attr6 == ‚true‘}

{/if}

Gruß
Marco

 

 

 

Das hat funktioniert, vielen Dank!