Grundpreis im Warenkorb

Hallo, 

wie kann ich den Grundpreis im Warenkorb ausgeben lassen? Auf der Bestellabschlusseite habe ich es mit der if Abfrage aus der Doku hinbekommen, aber der Warenkorb fehlt noch.

Vielen Dank schon mal :slight_smile:

Schau mal hier https://community.shopware.com/Bestellabschluss_detail_983.html

1 Like

@SebastianKlöpper schrieb:

Schau mal hier https://community.shopware.com/Bestellabschluss_detail_983.html

Ja, das habe ich auch gemacht, aber was ist mit dem Warenkorb? 

1 Like

Die Lösung:

Um im Warenkorb und Checkout den Grundpreis und auch den “Richtigen” anzeigen zu lassen, nachstehende Datei im eigenen Theme anlegen und Code einfügen. Aber dann unter Grundeinstellung/Storefront/Bestellabschluss den nachstehenden Code entfernen, da er sonst doppelt im Checkout angezeigt wird!!!

Unter: /frontend/checkout/items die product.tpl anlegen und das einfügen:

{extends file="parent:frontend/checkout/items/product.tpl"}

{block name='frontend_checkout_cart_item_details_inline'}
	{if count($sBasketItem.additional_details.prices) > 0 && $sBasketItem.additional_details.prices[0].referenceprice}
		{assign var="price" value=$sBasketItem.additional_details.prices[0]}
		Grundpreis {$price.referenceprice|currency} * / {$price.referenceunit} {$price.sUnit.unit}
	{/if}
{/block}

 

Shopware warum habt Ihr das nicht standardmäßig im Theme drin??? Das ist nicht nur wichtig, sondern sogar rechtlich notwendig!

 

 

1 Like

Frag deinen Anwalt:

Nur, wenn im Warenkorb der Artikel selbst und die Artikel-Anzahl nicht verändert werden kann, kann man den Grundpreis weglassen.

Wenn das zutrifft brauchst du es nicht.

1 Like

@artep‍

Dankeschön. Funzt klasse. Habe es soeben in meine 3 Shops eingebaut. Muss dass denn auch in die “Kurzansicht zur Bestellvorbereitung” (frühers Mini Warenkorb), mit rein?

 

Wo wir grade im Bestellabschluss sind noch eine Frage dazu: (evtl. off topic)

Ich kann ja auch ankreuzen: Zeige Hinweis für Nettobestellungen an

Nun gibt es ja 2 Arten von Nettobestellungen, die ich automatisch im Shop jedem Land zugewiesen habe und auch der Kunden mit UMST. ID. also Firmenkunden.

Es gibt z.B. die Nettobestellung für Schweizer, egal ob Privat oder Firmenkunde. Da steht dann ja automatisch auf der Rechnung: Der Käufer schuldet die Steuer.

Dann gibt es ja noch die EU Nettobestellung z.B. ein Österreicher mit UMST. ID, wo dann der Hinweis auf der Rechnung stehen muss: Innergemeinschaftliche steuerfreie EG Lieferung.

Kann man das mit dieser Funktion im Bestellabschluss realisieren bzw. voneinander abgrenzen?

 

Viele Grüße

Matthias

 

@malzfons schrieb:

@artep‍

Dankeschön. Funzt klasse. Habe es soeben in meine 3 Shops eingebaut. Muss dass denn auch in die „Kurzansicht zur Bestellvorbereitung“ (frühers Mini Warenkorb), mit rein?

 

Wo wir grade im Bestellabschluss sind noch eine Frage dazu: (evtl. off topic)

Ich kann ja auch ankreuzen: Zeige Hinweis für Nettobestellungen an

Nun gibt es ja 2 Arten von Nettobestellungen, die ich automatisch im Shop jedem Land zugewiesen habe und auch der Kunden mit UMST. ID. also Firmenkunden.

Es gibt z.B. die Nettobestellung für Schweizer, egal ob Privat oder Firmenkunde. Da steht dann ja automatisch auf der Rechnung: Der Käufer schuldet die Steuer.

Dann gibt es ja noch die EU Nettobestellung z.B. ein Österreicher mit UMST. ID, wo dann der Hinweis auf der Rechnung stehen muss: Innergemeinschaftliche steuerfreie EG Lieferung.

Kann man das mit dieser Funktion im Bestellabschluss realisieren bzw. voneinander abgrenzen?

 

Viele Grüße

Matthias

 

Gerne!  Wink Also im Miniwarenkorb muss das nicht rein!

Dann zu den Texten für innergemeinschaftliche Lieferungen: Der Satz „Der Käufer schuldet die Steuer“ ist so nicht korrekt. Für die Schweiz und EU gibt es verschiedene Texte die auf der Rechnung stehen müssen. 

Guckst Du hier den Code: https://forum.shopware.com/discussion/comment/189817/#Comment_189817

Die Zeile machst Du dann bitte raus:

Lieferbedingungen: DAP, zollabgefertigt.

1 Like

super, vielen Dank. Genau das brauchte ich. Smile

Wie kommt ihr darauf, das der Grundpreis im Warenkorb (oder auch auf der Bestellabschlusseite) angegeben werden muss? Ich zitiere mal:

" Frage: Sind Grundpreise auch im Bestellvorgang eines Online-Shop anzugeben?

Der sog. „Preis je Mengeneinheit einschließlich der Umsatzsteuer und sonstiger Preisbestandteile“ (kurz: Grundpreis) bei Waren, die von (Online-)Händlern nach Gewicht, Volumen, Länder oder Fläche angeboten werden, muss im Rahmen des Bestellvorgangs nicht noch einmal dargestellt werden, wenn er bereits vorher – wie es die rechtlichen Vorgaben des § 2 Absatz 1 der Preisangabenverordnung (PAngV) sind – im Online-Sortiment ordnungsgemäß dargestellt worden ist.

Es gibt keine Regelung, die eine erneute Darstellung im Rahmen des Bestellvorgangs vorschreibt; andererseits würde eine solche erneute Darstellung jedoch auch nicht schaden, es ist rechtlich schlichtweg irrelevant. In der einschlägigen Vorschrift § 2 Absatz 1 Satz 1 PAngV ist lediglich die Rede davon, dass Waren „angeboten“ werden – es geht somit um Werbung bzw. die Anzeige des Sortiments, nicht der erst darauf folgende Bestellvorgang."

Quelle: https://www.it-recht-kanzlei.de/Thema/preisangabenverordnung.html?page=6#sect_4

Btw.: Ob Supermarkt oder Baumarkt - der Grundpreis ist auch dort nur am Regal angegeben und wird weder beim Kassiervorgang an der Kasse („Warenkorb“) oder auf dem Kassenzettel („Bestellübersicht“) ausgegeben.

(Aber, wie im zitierten Absatz wiedergegeben - es schadet ja nicht!)

@W222 schrieb:

Wie kommt ihr darauf, das der Grundpreis im Warenkorb (oder auch auf der Bestellabschlusseite) angegeben werden muss? 

 

Danke für Deinen Hinweis! Ich habe das vom Händlerbund so bei der Shop-Tiefenprüfung gesagt bekommen. 

Der Eine sagt so, der Andere so. Egal… wie Du schon sagtest: es schadet ja nicht. 

Das stimmt, jeder sagt etwas anderes, das ist auch eines der Hauptprobleme bei Rechtsgeschichten, das müsste einfach klarer, verständlicher geregelt werden.

Ich habe deine Anpassungen eingebaut, aber hätte noch eine Frage/Idee: Könnte man die Ausgabe so erweitern, das auch der Inhalt des Artikels im Warenkorb und der Bestellabschlussseite angezeigt wird? Auf der Artikeldetailseite sieht es ja z.B. so aus:

Inhalt: 0.3 Liter (21,00 € * / 1 Liter)

Im Warenkorb steht jetzt dann: Grundpreis 21,00 € * / 1 Liter (btw. Wofür steht eigentlich der Stern?)

Könnte man es auch kombiniert im Warenkorb ausgeben lassen, also z.B.:

Inhalt: 0.3 Liter | Grundpreis 21,00 € * / 1 Liter

Denn, wenn man im Produktnamen oder der Kurzbeschreibung den Inhalt nicht aufführt, fehlt diese Information im Warenkorb und vor allem auch in der Bestellabschlussseite (wesentliches Merkmal?) [Vor allem wichtig bei Artikel ohne Varianten].

Hast du da eine Idee?

Der Stern steht für inkl. Mwst (siehe Footer).

Ob und wie man den Inhalt ausgeben kann, kann ich Dir leider nicht beantworten. Bei Varianten habe ich eh den Inhalt schon im Artikeltitel und bei allen anderen Artrikeln unter wesentliche Merkmale eingetragen.

{extends file=“parent:frontend/checkout/items/product.tpl”} {block name=‘frontend_checkout_cart_item_details_inline’} {if count($sBasketItem.additional_details.prices) > 0 && $sBasketItem.additional_details.prices[0].referenceprice} {assign var=“price” value=$sBasketItem.additional_details.prices[0]}

Inhalt: {$sBasketItem.additional_details.purchaseunit} {$sBasketItem.additional_details.sUnit.description} | Grundpreis: {$sBasketItem.additional_details.referenceunit}{$sBasketItem.additional_details.sUnit.unit} = {$sBasketItem.additional_details.referenceprice|currency}*

{/if} {/block}

 

Ich habe deine Lösung etwas verändert, so das jetzt erst der Inhalt und dann der Grundpreis angebenen wird (im Warenkorb und auf der Bestellabschlussseite).

Schema: Inhalt: XXX Gramm | Grundpreis: 1kg = XXX Euro

2 Likes

Hilfe erbeten!

Leider ist mir bei meiner Anpassung ein Bug aufgefallen. Wenn der Kunde einen Variantenartikel wählt, wird stets der Inhalt der Grundvariante im Warenkorb angegeben.

Ich habe, so wie unter Linkbeschrieben, unter Grundeinstellungen > Storefront > Bestellabschluss > Template für wesentliche Merkmale folgendes eingefügt:

{$sBasketItem|print_r}
 
Nach dem Leeren des Caches habe ich dann auf der Bestellabschlussseite alle Variablen angezeigt bekommen. Soweit so gut.
 
Die Variable “purchaseunit”, welche ich für die Ausgabe des Inhalts verwendet habe, wird bei einem Variantenartikel jedoch zweifach aufgeführt.
 
Wenn ich “Inhalt: {$sBasketItem.additional_details.purchaseunit} {$sBasketItem.additional_details.sUnit.description}” verwende, wird immer der “oberste” Wert von “purchaseunit” ausgegeben, welcher der Grundvariante entspricht.
 
Weiter unten in der Liste taucht “purchaseunit” nochmal auf, mit dem richtigen Inhalt der gewählten Variante.
 
Kann jemand (evtl. von Shopware) mir mitteilen, wie man dann unter $sBasketItem.additional_details die Variable “purchaseunit” einer Variante ausgeben lassen kann?

 

Hier die Grundpreisangebe für den Ajax Warenkorb basierend auf @artep’s Code  (es wird ja gerade wieder kräftig abgemahnt).

Unter: /frontend/checkout die ajax_cart_item.tpl anlegen und das einfügen:

{extends file="parent:frontend/checkout/ajax_cart_item.tpl"}

{block name="frontend_checkout_ajax_cart_articlename_price"}
    {$smarty.block.parent}
    {if count($basketItem.additional_details.prices) > 0 && $basketItem.additional_details.prices[0].referenceprice}{assign var="price" value=$basketItem.additional_details.prices[0]}
 {$price.referenceprice|currency}* pro {$price.sUnit.unit}
    {/if}
{/block}

Viel Spass!

Jens

2 Likes

Wers ganz genau will noch das Sternchen vor den Textbaustein mit der MwSt. (DetailDataPriceInfo)

1 Like

Hallo zusammen, habe den Code von frimipiso etwas angepasst, vielleicht hilft /gefällt es manchem so besser: 

{extends file="parent:frontend/checkout/ajax_cart_item.tpl"}

{block name="frontend_checkout_ajax_cart_articlename_price"}
    {$smarty.block.parent}
    {if count($basketItem.additional_details.prices) > 0 && $basketItem.additional_details.prices[0].referenceprice}{assign var="price" value=$basketItem.additional_details.prices[0]}
(Grundpreis: {$price.referenceprice|currency}* / {$price.referenceunit} {$price.sUnit.unit})
    {/if}
{/block}

 

1 Like

@artep‍

Danke für den Code. Ich habe ihn in der Product.tpl eingefügt und die Anzeige im Warenkorb ist korret.

Bisher habe ich unter Grundeinstellungen - Bestellabschluss noch nichts verändert. Doppelt scheint mir dennoch nichts zu erscheinen. Was sollte da warum geändert werden?

Ich habe das Feld “Template für wesentliche Merkmale” mit folgendem Code:

{if $sBasketItem.additional_details.properties}
    {$sBasketItem.additional_details.properties}
{elseif $sBasketItem.additional_details.description}
    {$sBasketItem.additional_details.description}
{else}
    {$sBasketItem.additional_details.description_long|strip_tags|truncate:50}
{/if}

Geht es um diesen Code? Was wird da gesteuert? Evtl. auch die Zeichenlänge der Artikelbezeichnung?

 

LG

 

@Toric‍

wenn Du den Code für Grundpreise nicht drin stehen hast, dann ist es gut. Bei mir stand der mal da drin.

Ich habe attr.10 für die wesentlichen Merkmale, die dann als Freitextfeld im Artikel erscheinen. Dort schreibe ich die Merkmale rein, da ansonsten nur die Kurzbeschreibung ausgegeben wird.

Mit diesem Code wird das Freitextfeld ausgegeben oder wenn nicht befüllt die Kurzbeschreibung.

{if $sBasketItem.additional_details.attr10}
	{$sBasketItem.additional_details.attr10}
{elseif $sBasketItem.additional_details.properties}
	{$sBasketItem.additional_details.properties}
{elseif $sBasketItem.additional_details.description}
	{$sBasketItem.additional_details.description}
{else}
	{$sBasketItem.additional_details.description_long|strip_tags|truncate:50}
{/if}

 

Danke für die Erklärung. Diese Merkmale nutze ich garnicht. Ich habe die bei Eigenschaften angegeben und dadurch erscheinen sie im Warenkorb. Die Varianten werden mit dem Artikeltitel ausgegeben, das ist wohl die Standardeinstellung. Allerding reicht die Zeichenzahl hier in den seltensten Fällen aus… Aber da ist ne andere Baustelle…