Warenkorb Button umbenennen wenn der Artikel noch nicht verfügbar ist

Guten Abend,
ich setze für meinen Kunden die aktuelle Shopware-Version ein und stehe vor dem Problem, wenn der Artikel noch nicht auf Lager ist aber selber bestellt ist, dann soll der Artikel vorbestellbar sein. Ich habe die Anpassung des „In den Warenkorb“-Buttons prinzipiell hinbekommen, was aber nicht zu funktionieren scheint ist die Geschichte mit Variantenartikel. Wenn noch keine konkrete Variante im Shop ausgewählt ist, dann zeigt er den Button wie im Bild zu sehen mit kryptischem Text. Ist eine konkrete Variante ausgewählt, dann funktioniert alles wunderbar.

Also gelöst wird das über Artikelattribut „Erscheinungsdatum“.

Wenn das Erscheinungsdatum größer als das Tagesdatum ist, dann soll aus dem Button „In den Warenkorb“ ein Button mit der Beschriftung „Vorbestellen“ werden.

							{block name="frontend_detail_buy_button"}
								{if $sArticle.sConfigurator && !$activeConfiguratorSelection}
									{if $sArticle.sReleasedate|strtotime < $smarty.now}
										
											{s name="DetailBuyActionAdd"}{/s} 
										
									{else}
										
											{s name="DetailBuyActionPreOrder"}{/s} 
																
									{/if}									
								{else}
									{if $sArticle.sReleasedate|strtotime < $smarty.now}
                                        
                                            {s name="DetailBuyActionAdd"}{/s} 
                                        
									{else}
										
											{s name="DetailBuyActionPreOrder"}{/s} 
																
									{/if}
								{/if}
							{/block}

Konkrete Frage also: Was stimmt an dem Code nicht, bzw. in welche Datei muss ich suchen, damit das funktioniert???

Hallo,

das ist ein selbstgeschaffenes Problem und ist ansich schnell lösbar: im Standard nutzt Shopware für das name - Attribut des Buttons den Textbaustein DetailBuyActionAddName und für den Inhalt des Buttons den Textbaustein DetailBuyActionAdd. Du nutzt aber dagegen für deinen Vorbestellerbutton sowohl beim name - Attribut als auch beim Inhalt des Buttons den gleichen Textbaustein DetailBuyActionPreOrder (den du mit HTML-Code befüllt hast).

Lösung: einfach beim name - Attribut den Textbausteinnamen bei deinem Code beispielsweise auf DetailBuyActionPreOrderName ändern. Fertig.

Grüße

Sebastian

1 Like

Hallo,

ja man sieht den Wald vor lauter Bäumen nicht. Ist das peinlich :slight_smile:

Danke für die Hilfe.

Gruß Axel