Hi zusammen,
ich bin dabei einen Shopware 6 Shop aufzusetzen. Ich habe aktuell ein Problem beim Warenkorb/Checkout/Bestellbestätigung. Bei SW 6 wird dort beim Artikel der Artikelname, die Artikelnummer und (wenn aktiviert) der Lieferzeitraum angezeigt. Das ist rechtlich kritisch, weil beim Warenkorb/Checkout/Bestellbestätigung für die gewählten Artikel die Angabe der wesentlichen Merkmale der Artikel erforderlich ist. Da komme ich im Moment nicht weiter. Meine Vorstellung ist für die wesentlichen Merkmale entweder die (Produkt-)Eigenschaften einzubinden und/oder ein Zusatzfeld mit einer Kurzinfo zu implermentieren.
Die Frage ist nun:
- Wie bekomme ich die Eigenschaften eines Artikels in den Warenkorb/Checkout/Bestellbestätigung
- Wie bekomme ich ein Zusatzfeld eines Artikels in den Warenkorb/Checkout/Bestellbestätigung
- Wie werden die Felder an das cartItem/lineItem übergeben?
Das sind meines Erachtens essentielle Dinge für einen Shop. Die Foreneinträge zu diesem Thema haben mich da leider nicht weitergebracht.
Wie wäre den der best practice dazu? Bei der Bestellbestätigung war ich der Meinung, dass zumindest die Eigenschaften an das lineItem übergeben werden. Meine bisherigen Versuche die Eigenschaften in der Bestellbestätigung auszugeben, waren aber leider ergebnislos.
Kann da jemand weiterhelfen? Das wäre super.
Danke schon mal.
Dieter
Schau mal in der Datenbank in der line_item Tabelle nach, ob im Payload die Eigenschaften mit dabei sind. Dann kommst du da auch dran.
item.payload müsste ja schon verfügbar sein.
Hi Moritz,
danke für die schnelle Antwort. Im payload sind die properties enthalten.
{„tags“:[„7230049156154e998527448bb447ea2e“],„categories“:[„da5d47e185a64897b736053e5a73730c“,„3ec0488f24884a7bbc8f6d9e9b26f4da“,„7f6cf4d5161845098a7ef2b420139266“,„e99ebefa04544d14a52de6e26758aced“],„properties“:[„3177f44f74b44fa9bd4c0482e88b492e“],„productNumber“:„AP-1010“,„options“:}
Das hatte ich schon versucht mit diesem Aufruf:
{% for lineItem in order.lineItems %}
|
{{ loop.index }} |
{{ lineItem.label|u.wordwrap(80) }}
{% if lineItem.payload.properties is defined %}({% for lineItemProperties in lineItem.payload.properties %} {{ lineItemProperties.property }} {% endfor %})
{% endif %}
{% if lineItem.payload.productNumber is defined %}Artikel-Nr: {{ lineItem.payload.productNumber|u.wordwrap(80) }}{% endif %}
|
{{ lineItem.quantity }} |
{{ lineItem.unitPrice|currency(currencyIsoCode) }} |
{{ lineItem.totalPrice|currency(currencyIsoCode) }} |
{% endfor %}
Das Ergebnis ist, dass keine Bestellbestätigung versendet wird. Wahrscheinlich ist der Zugriff auf das einzelne Element falsch: {{ lineItemProperties.property }}. Da bräuchte ich noch einen Tipp. Wie bekomme ich aus der propertyId den Eigenschftstext, also wie ist die Syntax für den Zugriff auf den Eigenschftstext?
Weiterhin ist in der Tabelle auch eine Spalte custom_fields. Die ist leider leer. Wie krieg ich die gefüllt mit den custom fields, die am Produkt hängen?
Thx
Dieter
Für den Checkout gibt es auch eine Klicklösung über die Einstellungen. Ist gerade schon in Entwicklung. Dann brauch man da das Template nicht anpassen.
Bekommst du die Id den ausgegeben? Wäre ja sowas wie item.payload…
Am besten noch vorher ein if “item.payload is defined” drum herum machen. So ähnlich wie hier: https://forum.shopware.com/discussion/comment/266980/#Comment_266980
Hi Moritz,
im Moment noch nicht. Über den von dir genannten Post habe ich es versucht, es geht aber nicht.
Ich habe das in der Bestellbestätigung so eingebunden
{% for lineItem in order.lineItems %}
{% if lineItem.payload.properties is defined %}({% for lineItemProperties in lineItem.payload.properties %} {{ lineItemProperties.property }} {% endfor %})
{% endif %}
…
Der Aufruf der einzelnen property ist mir nicht bekannt. So geht es anscheinend nicht: {{ lineItemProperties.property }}
Mit der beschriebenen Codezeile wird die Bestellbestätigung nicht verschickt.
Wenn ich mit dem richtigen Aufruf die Id habe, wie komme ich dann an den Eigenschftstext?
Wann plant ihr die Klicklösung?
Thx
Dieter
Bin heute nicht im Büro, schaue die Tage mal, wenn ich einen Shop zur Hand habe.
Klicklösung im nächsten Feature Release nach 6.2, denke also in 6-8 Wochen. Kann es aber nicht versprechen
Hi zusammen,
kurze Zwischeninfo: In der Version 6.2.0 sind die Zusatzfelder im lineItem im payload enthalten. Ich habe die Zusatzfelder erfolgreich in die Bestellbestätigung integrieren können.