http://modx-shopkeeper.ru/


Übersetzt von sharkbait / @kunane

MODx Shopkeeper 0.9 Snippet

MODx Warenkorb und Bestellverwaltungs-Modul

Beschreibung

Das Snippet bietet zwei verschiedene Warenkorb Typen zur Auswahl (einfach or erweitert). Die Daten für ausgewählten Artikel werden in einem Cookie gespeichert.
Eine Nachricht mit den Bestellinformationen kann per E-Mail gesendet, sowie an das Shopkeeper Modul geschickt werden (empfohlen).
Es besteht die Möglichkeit die Artikel mit Parametern zu erweitern. Der Käufer kann diese dann während des Bestellvorganges auswählen (Größen, Farben etc.).
Das eForm Snippet wird zur Erstellung des Bestellformulares benötigt.

Installation

  1. Kopiere die Snippet-Dateien in den Ordner assets/snippets/shopkeeper/
  2. gehe im Manager zu
    Elemente -> Elemente-Verwaltung -> Snippets (MODx 1.x) oder
    Resourcen -> Resourcen-Verwaltung -> Snippets (MODx 0.9.x)
  3. Klicke auf "Neues Snippet"
  4. Snippet-Name: Shopkeeper,
    Snippet-Beschreibung: Warenkorb
  5. Öffne die Datei Shopkeeper_snippet.php im "install" Ordner, kopiere den Inhalt in das Snippet-Code Feld und gehe anschließend auf "Speichern".
  6. Erstelle Chunks für den Warenkorb, Darstellung der Produktinformationen, Bestellformular usw. Beispiele sind in dem Ordner "Install". (Chunknamen ohne das vorangestellte "chunk_" der Dateien)
  7. Installiere das Shopkeeper Modul (de_doc_module-02.html).

Widgets für die Artikel Parameter

Um Widgets zu erstellen (Drop-Down Listen, Radio Buttons, Checkboxen), wird das Snippet "SHKwidget" (für die Verwendung auf der Artikelseite selber), sowie ein Ditto Extender (bei Artikeln die mit Ditto aufgelistet werden). Weiteres dazu unter de_doc_SHKwidget-04.html und de_doc_ditto_extender-03.html

Update

Ersetze alle Dateien und den Code aus (einschließlich der Chunks)


Snippet Parameter

Parameter Beschreibung und Werte Standardwerte Anmerkung
&lang Sprache `ru`  
&style Warenkorb Stylesheet `default`
(assets/snippets/shopkeeper/style/default/)
&style=`0` - wenn kein separates Stylesheet für den Warenkorb verwendet werden soll
&cartType Art des Warenkorbes
`full` - erweitert,
`small` - einfach,
`empty` - leert den Warenkorb ohne irgend etwas anzuzeigen
`full`  
&currency Währung `руб.` (für Rubel)  
&orderFormPage ID der Seite, die das Bestellformular enthält `1` Pflichtangabe
&gotoid ID der Seite, die nach Absenden des Formulares aufgerufen wird `1` Pflichtangabe. Notwendig damit der Warenkorb nach Absenden des Formulares wieder geleert wird.
&noJQuery=`1` wenn jQuery schon auf der Seite verwendet wird `0`  
&noConflict=`1` wenn eine andere Javascript Bibliothek (nicht jQuery) auf der Seite verwendet wird `0`  
&noCounter zeige (`0`) oder blende den Artikelzähler aus (`1`), wenn Artikel zum Warenkorb hinzugefügt werden. `0`  
&clStuffCont CSS Klasse des Produkt Informations-Kontainers `shk-stuff` Beispiel Chunk: chunk_shopStuff.txt
&debug=`1` Started den Debugger für Javascript Funktionen (Informationsdarstellung) `0`  
&cartTpl Warenkorb Template Chunk `shopCart` Der Chunk enthält drei Templates: Ein Template für den leeren Warenkorb und jeweils eines für den einfachen, sowie den erweiterten Warenkorb.
&cartRowTpl Template Chunk für eine Produktzeile im erweiterten Warenkorb -  
&cartHelperTpl "Helfer" Template Chunk - Block Element zur Bestätigung von Aktionen -  
&flyToCart die Art und Weise wie der Artikel zum Warenkorb hinzugefügt wird:
`helper` - ein Zähler erscheint der die Menge der Artikel anzeigt und sich anschließend in den Warenkorb bewegt,
`image` - ein Bild des Artikels bewegt sich in den Warenkorb (momentan noch nicht integriert - eventuell doch :) ),
`nofly` - nichts bewegt sich in den Warenkorb;
`helper` wenn &flyToCart=`image` verwendet wird, sollte das <img> tag die CSS-Klasse "shk-image" haben
&noLoader=`1` den "Preloader" nicht anzeigen `0`  
&changePrice=`1` wenn der Preis Parameter geändert wird, ändert sich der Artikelpreis, der Wert der Änderung wird nicht angezeigt. (?) `0`  
&counterField=`1` fügt einen Zeiger für mehr/weniger zu allen <input name="shk-count"> (Artikelmenge) Feldern hinzu `0`  

Beispiel Snippet Aufrufe

[!Shopkeeper? &orderFormPage=`10` &gotoid=`11`!]

[!Shopkeeper? &cartType=`small` &orderFormPage=`10` &gotoid=`11` &changePrice=`1` &counterField=`1` &flyToCart=`nofly`!]

Bestellformular

Das Bestellformular wird mit dem eForm Snippet aufgebaut. Folgende Parameter müssen in dem Snippet Aufruf angegeben werden:

&gotoid - ID des Dokumentes welches nach Senden des Bestellformulares aufgerufen werden soll (notwendig zum leeren des Warenkorbes);
&eFormOnBeforeMailSent=`populateOrderData` - Funktion um die Details der ausgewählten Artikel einzufügen

Um Bestellungen zum Shopkeeper Modul zu schicken, muss der Parameter &eFormOnMailSent=`sendOrderToManager` ebenfalls im eForm Aufruf enthalten sein.

Beispiel eForm Aufruf:

[!eForm? &formid=`shopOrderForm` &tpl=`shopOrderForm` &report=`shopOrderReport` &vericode=`1` &ccsender=`1` &gotoid=`11` &subject=`Bestellung` &eFormOnBeforeMailSent=`populateOrderData` &eFormOnMailSent=`sendOrderToManager`!]

Wichtige Punkte:

Alle Beispiele befinden sich im shopkeeper/install/ Ordner


Um den Warenkorb an verschiedenen Stellen des Templates anzuzeigen, kann man entweder das PHx Plugin verwenden, oder verschiedene Templates anzulegen

Ditto wird normalerweise für die Darstellung der Artikel verwendet.

Benutz zusätzliche TV Parameter (z.B. [*price*]) um Preise anzuzeigen.

Warnung und Haftungsausschluss

Es besteht ein geringes Risiko dadurch, daß das Snippet Datenbank Funktionen ausführt (schreiben und lesen). Der Author hat versucht die weitverbreitesten Methoden des "Einbrechens" (in das System) auszuschließen, aber theoretisch ist alles möglich... Benutzung des Codes auf eigenes Risiko. Der Author übernimmt keinerlei Haftung für mögliche Folgen.