 | CMS.R. Modul eCommerce BeschreibungMit diesem Modul kann ein Online-Shop betrieben werden. Es können ganz einfach Produkte mit Beschreibung und Bild eingestellt werden. Jedes Produkt kann dabei einer beliebigen Kategorie zugeordnet werden. Die Möglichkeit der zeitlichen Beschränkung von Produkten, erlaubt das anbieten von Sonderaktionen. Der Warenkorb wird per Email an den Betreiber und, falls gewünscht, an den Besteller gesandt.
Eine Live-Demo finden Sie hier www.demoshop.sruttloff.de .
Sie können hier das komplette Projekt herunter laden und für sich benutzen und, natürlich auch, verändern!
Modulaufrufe alá [CMS: react_to_modul ('SHOP','ACTION')]
Action kann dabei einen der folgenden Werte enthalten.
categories- Liefert ein Array mit allen Kategorien zurück, in denen sich Produkte befinden. Zusätzlich wird die Anzahl der enthaltenen Produkte zurückgeliefert.
Beispiel: [CMS: $array = react_to_module('SHOP', 'CATEGORIES')] [CMS: each ($array as $temp) SHOW $temp['CATEGORY'].'-'.$temp['ITEMS'].'<br>']
basketitemquantity oder basketquantity
- Liefert die Anzahl der Artikel zurück, die im Warenkorb abgelegt sind.
Beispiel: [CMS: SHOW react_to_module('SHOP','BASKETQUANTITY')]
baskettotalprice
- Leifert den Gesamtpreis der im Warenkorb abgelegten Produkte zurück.
[CMS: SHOW react_to_module('SHOP', 'BASKETTOTALPRICE')]
currency
- Liefert die eingestellte Währung des Shop zurück
[CMS: SHOW react_to_module('SHOP', 'CURRENCY')]
readitems, category (array), offset, limit
- Liefert ein Array zurück, daß alle Informationen zu Produkten enthält die category entsprechen.
Offset und limit können zu Navigieren durch lange Listen angegeben werden.
Beispiel: [CMS: $quelle = array ('CATEGORY' => 'Software'] Mit Hilfe dieser Definition sollen alle Artikel die in der CATEGORY Software liegen ausgeliefert werden. [CMS: $array = react_to_module('SHOP', 'READITEMS', $quelle)] Das Array das zurückgeliefert wird, kann mittels each durchlaufen und ausgegeben werden. Enthalten sind alle Elemente eines Produktdatensatzes.
| ELEMENT | Bedeutung | | ID | eindeutige ID eines Produktes | | ARTNAME | Artikelname | | ARTDESC | Artikelbeschreibung | | INFO | zusätzliches Infofeld
| | PICNORMAL | normales Bild | | PICDETAIL | detailiertes Bild | | CATEGORY | Kategorie | | SUBCATEGORY | Unterkategorie | | SECONDSUBCATEGORY | 2'e Unterkategorie | | THIRDSUBCATEGORY | 3'e Unterkategorie | | UNITS | Einheit oder Gebindetyp | | WEIGHT | Gewicht | | EKP | Einkaufpreis | | MWST | Mehrwertsteuersatz in % | | VK | Verkaufspreis | | SHIPMENT | Liefer- oder Bestandstatus | | LASTUPDATE | Letzte Änderung als Unix Timestamp |
Auf jedes dieser Elemente kann über das zurückgelieferte Array zugegeriffen werden. [CMS: SHOW $array['ITEMS'][0]['ARTNAME']] Das liefert von dem ersten Datensatz den Artikelnamen zurück. Diese Elemente können aber auch zum Abfragen benutzt werden, so liefert beispielsweise die Frage nach einer bestimmten ID nur diesen einen Artikel zurück. [CMS: $quelle = array ('ID' => 'XYZ')] [CMS: $array = react_to_module('SHOP', 'READITEMS', $quelle]
Eine Verknüpfung ist ebenfalls möglich. [CMS: $quelle['CATEGORY'] = 'Software'] [CMS: $quelle['SUBCATEGORY'] = 'Betriebssystem'] [CMS: $array = react_to_module('SHOP', 'READITEMS', $quelle] Diese Abfrage liefert alle Produkte die in der Kategorie Software und in der Unterkategorie Betriebssystem liegen zurück.
- Neben den zuvor beschriebenen Elementen, werden weitere Elemente mit dem Array zurückgeliefert.
$array['INFO']['TOTALENTRIES'] Wurde mittels Offset und Limit die Abfrage begrenzt. So enthält dieses Array die gesamte Anzahl der Produkte. $array['INFO']['TOTALPAGES'] Bei einer Begrenzung der Anzeige mittels Limit und Offset, enthält dieses Array die Anzahl der Seiten. Mit Hilfe dieser beiden Informationen ist es möglich eine Blättern Funktion zu erstellen. Zur Vereinfachung enthält das Array aber bereits eine vereinfachte blättern Funktion. Diese steht über $array['INFO']['BROWSE'] zur Verfügung. Der enthaltene Text beherbergt einen Platzhalter /GETVARS/ im HREF Element. Mittels PREG_REPLACE kann man diesen ersetzen.
basketitems
- Liefert ein Array zurück, ähnlich wie READITEMS. Lediglich die blättern Funktion steht nicht zur Verfügung.
- Zu jedem Datensatz werden zusätzliche Elemente bereitgestellt.
$array['ITEMS'][0]['BASKETITEMQUANTITY'] Enthält die Anzahl eines Produktes, die im Warenkorb abgelegt wurde.
$array['ITEMS'][0]['BASKETITEMPRICE'] Dies ist die Gesamtsumme eines Produktes das im Warenkorb abgelegt ist.
$array['BASKETTOTALPRICE'] Enthält den Preis aller im Warenkorb befindlichen Produkte.
save
- Wird an das Modul die Aktion SAVE gesendet [CMS: react_to_module('SHOP','SAVE')] , speichert es folgende Post oder Get Variablen (vorzugsweise Post) in einer Session.
| Variablenname | Bedeutung | | shoporder_salutation | Anrede (Herr / Frau) | | shoporder_title | Titel (Dr.) | | shoporder_surname | Nachname | | shoporder_firstname | Vorname
| | shoporder_company | Firma | | shoporder_adress1 | Strasse und Hausnummer | | shoporder_adress2 | Adresszusatz | | shoporder_city | Stadt | | shoporder_zip | Postleitzahl | | shoporder_country | Land | | shoporder_phone | Telefonnummer | | shoporder_fax | Faxnummer | | shoporder_email | Emailadresse | | shoporder_payment | Zahlungsweise (Bar, Vorkasse, ...) | | shoporder_shipment | Lieferart (Post, Abholung, ...) | | shoporder_remark | Eine Bemerkung zur Bestellung mit beliebigem Text. | | shopdely_name | Lieferanschrift: Name
| | shopdely_adress1 | Lieferanschrift: Strasse und Hausnummer
| | shopdely_adress2 | Lieferanschrift: Adresszusatz
| | shopdely_city | Lieferanschrift: Stadt
| | shopdely_zip | Lieferanschrift: Postleitzahl
| | shopdely_country | Lieferanschrift: Land
|
Die vorgenannten Variablen, übertragen mittels Post oder Get, werden in einer gleichnamigen Sessionvariablen gespeichert. Auf diese kann dann beispielsweise so zugegriffen werden: [CMS SHOW $SESSION:shoporder_email]
- Wurden alle Variablen in die gleichnamigen Sessionvariablen überführt, liefert das Modul TRUE zurück.
- Statt der Save Funktion des Moduls, können die Variablen auch anders in die Sessionvariablen überführt werden.
- Die Prüfung der Variablen auf Ihre Inhalte obliegt dem Anwender. Das Modul selbst überprüft keine Inhalte.
ordernow
- Wird an das Modul die Aktion ORDERNOW gesendet [CMS: react_to_module('SHOP','ORDERNOW')], wird eine Bestellung ausgelöst und der Warenkorb gelöscht.
Gleichzeitig wird eine Email an den Admin des Shops gesendet und, falls gewünscht, eine Email an den Besteller. Als Empfänger wird hierbei die Emailadresse aus der Sessionvariablen $SESSION:shoporder_email entnommen. - In den Email kann der Warenkorb abgebildet werden (siehe BASKETITEMS)
basketadd, artikelid, menge
- Fügt dem Warenkorb den Artikel mit der genannten artikelid und der angegebenen menge zu.
Im Erfolgsfall wird True zurückgeliefert.
basketdelete, artikelid
- Löscht einen Artikel mit artikelid aus dem Warenkorb und liefert im Erfolgsfall TRUE zurück.
basketchange, artikelid, menge
- Ändert die Menge eines Artikels mit artikelid im Warenkorb in menge.
Dieses Modul ist Open Source und kostenlos verfügbar. Für den schnellen Einstieg kann hier fertiger Content für den XML Import herunter geladen werden.
Eine Live-Demo finden Sie hier www.demoshop.sruttloff.de Download Modul: shop.pck Download XML Content: ecommercecontent.xml Download Template: cms5_shop.zip
|  |