v1.2.1 Artikel-Aufschläge (MndAddChargeManager)

v1.2.1 Artikel-Aufschläge (MndAddChargeManager)

Achtung

Diese Dokumentation bezieht sich auf eine ältere Software-Version. Die aktuelle Dokumentation finden Sie hier: Artikel-Aufschläge (MndAddChargeManager)

Datum

Änderung

Datum

Änderung

20.05.2016

Erste öffentliche Version der Dokumentation für Version 1.0.0

27.06.2016

Aktualisierung der Dokumentation für Version 1.1.0

  • Lieferland-Einschränkung für Aufschläge

  • Plugin-Konfiguration für die Anzeige der Lieferlandspezifischen Aufschläge für nicht angemeldete Benutzer

25.08.2016

Aktualisierung der Dokumentation für Version 1.2.0

  • Neues Feature: Aufschlagsinformationen nun in Produktexporten verfügbar.

  • Wegfall Konfigurationsoption für "unbekanntes Lieferland"

01.09.2016

Aktualisierung der Dokumentation für Version 1.2.1 und folgende
 

  • Konfigurationsoption für "Modus" wurde entfernt





1. Einleitung

Das Plugin MND Shopware Artikel-Aufschläge (MndAddChargeManager) ermöglicht es Aufschläge pro Artikel zu definieren. Typische Anwendungsmöglichkeiten sind beispielsweise:

  • Sperrgutzuschlag

  • Flaschenpfand

  • Dosenpfand

  • Batteriepfand

1.1.1. Besondere Merkmale des Plugins

  • ERP kompatibel: Aufschläge sind eigenständige Artikel im Warenkorb! Artikelnummern können frei definiert werden.

  • Aufschläge werden Pro Artikel-Menge berechnet. D.h. bei Bestellmenge 10 = 10x Aufschlag einberechnet.

  • Für Aufschläge kann ein eigener MwSt. Satz definiert werden.

  • Texte für Aufschläge können frei definiert werden, inkl. Infotext.

  • Definition beliebig vieler Aufschläge im Shopware Backend.

  • Es können einem Artikel mehrere Aufschläge zugewiesen werden.

  • Aufschläge können auf ein oder mehrere Lieferländer eingeschränkt werden

  • Daten der Aufschläge können in Shopware Produktexporte integriert werden.

Aufschläge werden im Shopware Shop bei Artikeln dargestellt und im Bestellprozess automatisch mit einberechnet.

1.1.1.1. Screenshots

Anzeige auf der Artikeldetailseite:

Anzeige im Artikellisting:

Anzeige im Warenkorb:

2. Installation

Die Installation erfolgt wie gewohnt über den Shopware Plugin Manager.

Weiterführende Informationen zum Installationsvorgang in Shopware:

Plugin-Installation: http://community.shopware.com/Lizenzierung-und-Installation-von-lizenzpflichtigen-Plugins_detail_1340.html
Plugin-Manager: http://community.shopware.com/Plugin-Manager-ab-Shopware-5_detail_1856.html)

2.1. Plugin-Konfiguration (Experten-Einstellung)

2.1.1. Konfigurationsoption für "Modus" wurde entfernt

Mit Version 1.2.1 fällt die Option zur Einstellung des Darstellungsverhaltens für "Modus" weg. Diese Funktion wurde in eine Konfigurationstabelle verschoben.

Insofern Änderungen am Modus vorgenommen werden müssen. Müssen diese nun über die Datenbank gemacht werden. Der Tabellennamen ist "mnd_add_charge_config".

Normalerweise müssen Sie diese Einstellung nicht anpassen. Verändern Sie diese Einstellung nur, wenn Sie die technischen Hintergründe verstehen!

Shopware verwendet intern den sogenannten "Modus" um Artikel-Typen im Warenkorb zu identifizieren (z.B. Gutscheine, Rabattartikel, Versandkostenaufschläge etc.).

Möglicherweise verwenden andere Plugins ebenfalls einen Modus. Bei Konflikten kann diese Einstellung angepasst werden. Standardwert ist Modus 500.

Die Werte 1 bis 4 sind vom Shopware System verwendet und dürfen nicht gesetzt werden!

2.1.2. Konfigurationsoption für "unbekanntes Lieferland" wurde entfernt

Mit Version 1.2.0 fällt die Option zur Einstellung des Darstellungsverhaltens für "unbekanntes Lieferland" weg. Diese Funktion hat zu unerwartetem Verhalten geführt.

Die Darstellung in Artikeldetailseiten, Listings etc. richtet sich nun nach dem Shopware verhalten. D.h. bei nicht eingeloggten Benutzern richtet sich die Darstellung nach dem Standard-Land des (Sub-)Shops. Im Warenkorb und Checkout-Prozess wird auf Basis des Lieferlandes berechnet. Bei eingeloggten Benutzern richtet sich die Darstellung von Aufschlägen ebenfalls nach dem eingestellten Land der Lieferadresse.



3. Nutzung

3.1. Konfigurationsmaske im Backend aufrufen

Im Hauptmenü den Untermenüpunkt "Aufschläge" wählen:



3.2. Aufschläge anlegen/bearbeiten

Klicken Sie auf "Hinzufügen" um einen neuen Aufschlag zu erstellen oder einen vorhandenen zu bearbeiten/löschen.

Ein Aufschlag kann mehreren Artikeln im Shop zugeordnet werden und auf bestimmte Lieferländer eingeschränkt werden.

  • Nicht eingeloggte Benutzer: Darstellung im Storefront richtet sich nach für (Sub-)Shop eingestelltem Land. Im Checkout nach dem in der Versandkostenberechnung eingestelltem Land

  • Bei eingeloggten/frisch registrierten Benutzern: Darstellung im Storefront richtet sich nach dem Land der Lieferadresse – ebenso wie Berechnung im Warenkorb.





3.3. Anlegen eines Aufschlages



Folgende Felder sind für die Konfiguration eines Aufschlages relevant:

Feld

Beschreibung

Feld

Beschreibung

Interner Name

Name des Aufschlages, der im Backend genutzt wird.

Name

Name des Aufschlages, der im Shop sichtbar ist.

Aufschlag Art.-Nr.

Shop-Artikelnummer des Aufschlages, wie sie in der Bestellung gesprichert werden soll (und bspw. dann auch an ERP/Warenwirtschaftssystem übergeben wird).

Eine Artikelnummer darf nur einmal vergeben werden.

Obwohl technisch möglich, sollten Sie für Artikelnummern nur Zeichen A-Z, a-z, 0-9 und "-" verwenden.
D.h. keine Umlaute, Sonderzeichen oder Leerzeichen.

Beschreibung

Kurzbeschreibung des Aufschlages. Wird auf der Artikelseite im Shop unterhalb der Aufschlag-Kosten angezeigt.

Preis Typ

Hier können Sie einstellen, ob Sie den Preis des Aufschlages in Brutto (inkl. MwSt.) / Netto (exkl. MwSt.) eingeben.

Preis

Preis des Aufschlages (Dezimaltrenner ist Punkt!)

Steuern

Einstellen der Steuerkonfiguration, wie sie für den Aufschlag verwendet werden soll.

3.3.1.1.

3.3.1. Zuweisen von Artikeln

Ein Artikel kann entweder anhand des Namens oder der Artikelnummer mit einem Aufschlag versehen werden.

Die Zuweisung von Aufschlägen zu Artikeln kann derzeit nur über das Aufschlags-Fenster bearbeitet werden. Ein Bearbeiten im Rahmen der Artikelstammdaten ist in Planung.



Artikel wurde erfolgreich zur Aufschlagsgruppe hinzugefügt.



3.3.2. Aufschlag auf Lieferländer einschränken

Ein Aufschlag kann einem oder mehreren Lieferländern zugeordnet werden. Nur bei übereinstimmendem Lieferland wird der Aufschlag berechnet.
Über die Plugin-Konfiguration kann gesteuert werden ob nicht angemeldete Benutzer, d.h. das Lieferland ist nicht definiert, den Aufschlag sehen.
Bei Länderspezifischen Aufschlägen empfehlen wir den angezeigten Namen entsprechend der Einschränkung zu wählen, z.B. "Zoll-Zuschlag bei Lieferungen in die Schweiz". 

Aufschlag wurde für das Lieferland, in diesem Fall "Schweiz", eingeschränkt.



Wenn Sie Aufschläge und Zuordnungen angepasst haben, sollten Sie zur Sicherheit den Shopware Cache (Frontend und HTTP-Proxy) leeren.



3.3.3. Zuweisen mehrerer Aufschläge pro Artikel

Es ist möglich einem Artikel mehrere Aufschläge zuzuweisen.

Ab zwei Aufschlägen muss ggf. das Shopware Template so angepasst werden, dass mehr Platz verfügbar ist.

Gerne unterstützen wir Sie bei bei einer individuellen Anpassung.

3.4. Verwendung im Produktexport

Für die Templates der Produktexporte wird die Variable $sArticle durch Aufschlaginformationen ergänzt:

$sArticle.mnd_addcharge

Diese Variable enthält ein JSON Objekt mit Aufschlagsinformationen.

In diesem JSON Objekt sind folgende Infos enthalten:

Variable

Beschreibung

Beispiel

Type

Variable

Beschreibung

Beispiel

Type

name

Der "Interne Name" des Aufschlages.

dosenpfand_1

string

display_name

Der Name der im Frontend für den Endkunden sichtbar ist.

Mehrweg Dosenpfand

string

description

Die Beschreibung des Aufschlages.

Die description kann Zeilenumbrüche enthalten. Sie müssen den Wert für CSV daher ggf. entsprechend mit Smarty anpassen.

Das in Deutschland übliche Dosenpfand

string

price

Der Bruttopreis des Aufschlages in der für den Export eingestellten Währung

0.25

float

tax

Der Steuersatz des Aufschlages

19.00

float



3.4.1. Beispiele für Integration in Export-Template

3.4.1.1. Aufschlagsinformationen als Text ausgeben

Zunächst erweitern wir den Export um eine Spalte in der alle Aufschläge als Fließtext aufgezählt werden.

3.4.1.1.1. header
[...] Aufschläge{#S#} [...]
3.4.1.1.2. template
[...] {assign var=addChargeData value=$sArticle.mnd_addcharge|unescape:'html'|json_decode:1} {assign var="output" value=null} {foreach $addChargeData AS $data}{append 'output' "zzgl. {$data.price|format:"number"} {$sCurrency.currency} {$data.display_name}"}{/foreach} {", "|implode:$output}{#S#} [...]

Ergebnis:

3.4.1.1.3. Ergebniss
zzgl. 0,25 EUR Test Zuschlag, zzgl. 3,21 EUR Zweiter Test Zuschlag

Erklärung:

Die ersten drei Zeilen bereiten die Daten für die Ausgabe vor und erzeugen selbst keinen Text im Produktexport:

{assign var=addChargeData value=$sArticle.mnd_addcharge|unescape:'html'|json_decode:1}

Zunächst wandeln wir den JSON-String in ein Array um. Mithilfe des Arrays können die Werte einzeln besser verarbeitet werden. (Diese Zeile führt zu keiner Ausgabe im Export)

{assign var="output" value=null}

Wir erstellen eine Variable, die wir mit unseren Daten befüllen wollen. (Diese Zeile führt ebenfalls noch nicht zu einer Ausgabe)

{foreach $addChargeData AS $data}{append 'output' "zzgl. {$data.price|format:"number"} {$sCurrency.currency} {$data.display_name}"}{/foreach}

Nun wird jeder Aufschlag herangezogen und in das Array "output" gespeichert.

{$data.price|format:"number"}

Hiermit werden die Preise entsprechend der ausgewählten Einstellungen formatiert.

{", "|implode:$output}

Zuletzt werden alle Einzelteile, verbunden mit einem Komma, ausgegeben.



3.4.1.2. Preis von Aufschlägen zu Artikelpreis hinzuaddieren

3.4.1.2.1. header
[...] Preis inkl Aufschläge{#S#} {/strip}{#L#}
3.4.1.2.2. template
[...] {assign var=addChargeData value=$sArticle.mnd_addcharge|unescape:'html'|json_decode:1} {assign var="priceIncl" value=$sArticle.price} {foreach $addChargeData AS $data}{assign var="priceIncl" value=$priceIncl+$data.price}{/foreach} {$priceIncl}



Ergebnis:

3.4.1.2.3. Ergebniss
123.41

Zunächst wandeln wir den JSON-String in ein Array um. Mithilfe des Arrays können die Werte einzeln besser verarbeitet werden.

{assign var="priceIncl" value=$sArticle.price}

Wir erstellen eine Variable, dieser Variable geben wir den Preis des Artikels mit.

{foreach $addChargeData AS $data}{assign var="priceIncl" value=$priceIncl+$data.price}{/foreach}

Nun wird jeder Aufschlag herangezogen und dem Artikelpreis hinzuaddiert

{$priceIncl}

Zuletzt wird der Preis ohne Formatierung ausgegeben.



4. Deinstallation

Das Plugin wird auch über den Plugin Manager deinstalliert.

Die angelegten Aufschlagskonfigurationen werden dabei nicht entfernt. Diese sind in folgenden Tabellen gespeichert, welche bei Bedarf manuell in der Datenbank gelöscht werden können:

  • mnd_add_charge

  • mnd_add_charge_articles

  • mnd_add_charge_country