ich habe ein Problem bei Produkten die ein Apostroph/Hochkomma im Artikelnamen haben: wenn diese in den Warenkorb gelegt werden sollen, öffnet sich nicht automatisch das AJAX Overlay. Der Artikel wird im Hintergrund zwar in den Warenkorb gelegt, aber der Kunde sieht es nicht. Also es erfolgt keine sichtbare Bestätigung wie bei den anderen Produkten ohne Apostroph im Artikelnamen.
Lösche ich den Apostroph aus der Artikelbezeichnung oder ersetze ihn durch ein Akzent-Zeichen, dann geht es. Reproduzierbar. Es liegt eindeutig am Hochkomma in der Artikelbezeichnung. Setze ich ein Entity ' dann geht’s zwar technisch wieder, allerdings wird das Entity im Artikel-Listing nicht “übersetzt” in ein Hochkomma, sondern bleibt als Code lesbar. Was ziemlich unschön ist.
Die orthographisch korrekten Hochkommata durch ein eigentlich falsches Akzent-Zeichen zu ersetzen widerstrebt mir ein wenig. Gibt es eine andere Lösung um Apostrophe in der Artikelbezeichnung zu nutzen, ohne technische Probleme im Shop auszulösen?
handelt es sich da um die aktuellste Shopware 4 Version? Ich meine, dass es da mal einen Bugfix gab. Ich meine aber auch, dass Shopware hier diese Zeichen in der URL standardmäßig ersetzt oder entfernt. Wird die URL denn von Shopware generiert, oder werden diese evtl. auf andere Weise in die SEO Tabelle geschrieben?
Da Shopware 4 nicht mehr weiter entwickelt wird und es sich hier vermutlich um einen Bug oder Designfehler im Code von Shopware handelt, sehe ich keine Hoffnung auf Besserung. Es sei denn Du entwickelst selbst einen Patch oder lässt entwickeln.
Das korrekte Ersetzungszeichen für die URL wäre %27. Am besten man lässt die URL Bestandteile einfach grundsätzlich durch urlencode() laufen – gibt ja noch mehr Sonderzeichen …
Danke für die Antwort. Ich habe kein Problem mit der generierten SEO-URL. Die wird einwandfrei erstellt, der Apostroph entfernt. Der Artikel-Link ist problemlos aufrufbar, im Shop gibt es soweit auch keinerlei Problem mit dem Aufruf oder der Darstellung der betroffenen Artikel.
Es gibt nur einzig das Problem, dass eben dieses Overlay beim “in den Warenkorb legen” nicht erscheint. Also das JavaScript für diese AJAX-Funktion (oder wie auch immer das Ding erzeugt wird), funktioniert dann nicht mehr. Der Artikel landet aber trotzdem im Warenkorb. Nur sieht man es nicht auf den ersten Blick, weil quasi das Popup nicht erscheint. Geht man manuell in den Warenkorb, liegt der Artikel aber drin.