JTL-Shop 2 - JTL
Transcrição
JTL-Shop 2 - JTL
JTL-Shop 2 ARCHIV: DOKUMENTATION JTL-Software GmbH HÜCKELHOFEN / HÜRTH | WWW.JTL-SOFTWARE.DE / ARCHIVIERT: NOVEMBER 2015 JTL-SHOP 2 Inhalte 1. Einleitung 5 Inhaltsverzeichnis.......................................................................................................... 6 1.1 Funktionsumfang ..................................................................................................... 7 2. Installation 10 Inhaltsverzeichnis......................................................................................................... 10 2.1 Systemvoraussetzungen...................................................................................... 10 2.2 Installationsvorgang ............................................................................................. 11 2.3 Problembehebung bei der Installation ..................................................................... 19 3. Einrichtung 20 Inhaltsverzeichnis........................................................................................................ 20 3.1 Einstellungen in JTL-Wawi .................................................................................. 22 3.2 Einstellungen im Adminbereich von JTL-Shop v2 ............................................... 22 4. Template-Dokumentation 91 Inhaltsverzeichnis......................................................................................................... 91 Vorwort / Allgemeines ............................................................................................... 91 Voraussetzungen / notwendige Kenntnisse .................................................................. 91 Motivationsbeispiel ................................................................................................................ 92 4.1 Aufbau des Shops / Templates ............................................................................ 93 Aufbau der Dokumentation........................................................................................ 94 4.2 Layout & Design des Shops............................................................................... 95 JTL-SOFTWARE GMBH 1 JTL-SHOP 2 Inhaltsverzeichnis ...................................................................................................... 95 Verzeichnisstruktur ................................................................................................... 96 Aufbau des Templates .............................................................................................. 97 Teiltemplates ........................................................................................................................... 97 Config-/Sprachdateien ......................................................................................................... 98 Globale Variablen ...................................................................................................... 99 Boxen ........................................................................................................................................ 104 AktuelleSeite ........................................................................................................................... 110 Einstellungen ............................................................................................................. 112 5. Beschreibung der Shopseiten 113 artikel.tpl .....................................................................................................................113 Variablen ................................................................................................................................... 113 Einstellungen ........................................................................................................................... 119 Anwendungsbeispiele.......................................................................................................... 119 Formulare .................................................................................................................................. 121 bestellabschluss.tpl ..................................................................................................124 Inhaltsverzeichnis .....................................................................................................124 Variablen .................................................................................................................................. 126 Einstellungen .......................................................................................................................... 127 Zahlungsarten ........................................................................................................................ 128 bestellvorgang.tpl ..................................................................................................... 132 Inhaltsverzeichnis ..................................................................................................... 132 Variablen .................................................................................................................................. 134 JTL-SOFTWARE GMBH 2 JTL-SHOP 2 Einstellungen .......................................................................................................................... 135 Steps.......................................................................................................................................... 135 druckansicht_artikel.tpl ...........................................................................................162 Variablen .................................................................................................................................. 162 Einstellungen .......................................................................................................................... 162 jtl.tpl ............................................................................................................................163 Inhaltsverzeichnis .....................................................................................................163 Steps.......................................................................................................................................... 163 passwort_vergessen.tpl ............................................................................................ 171 Formulare .................................................................................................................................. 171 produkte.tpl ............................................................................................................... 172 Inhaltsverzeichnis ..................................................................................................... 172 Variablen .................................................................................................................................. 172 Einstellungen .......................................................................................................................... 174 Formulare ................................................................................................................................. 175 registrieren.tpl ........................................................................................................... 179 Inhaltsverzeichnis ..................................................................................................... 179 Variablen .................................................................................................................................. 179 fehlende Angaben Array .................................................................................................... 180 Formulare ................................................................................................................................. 180 seite.tpl ....................................................................................................................... 181 VariablenKurzurl ..................................................................................................................... 181 Einstellungen .......................................................................................................................... 182 JTL-SOFTWARE GMBH 3 JTL-SHOP 2 suche.tpl ..................................................................................................................... 183 Inhaltsverzeichnis....................................................................................................... 183 VariablenKurzurl .................................................................................................................... 183 Einstellungen .......................................................................................................................... 186 Formulare ................................................................................................................................. 186 warenkorb.tpl ............................................................................................................189 Inhaltsverzeichnis.......................................................................................................189 Variablen .................................................................................................................................. 189 Einstellungen .......................................................................................................................... 193 Anwendungsbeispiele......................................................................................................... 193 Formulare ................................................................................................................................. 195 6. Email-Dokumentation 197 Inhaltsverzeichnis....................................................................................................... 197 Aktuelle Vorlagen ................................................................................................................. 197 JTL-SOFTWARE GMBH 4 JTL-SHOP 2 1. Einleitung Der JTL-Shop ist das Shopsystem, das im Zusammenspiel mit JTL-Wawi seine vollen Stärken ausspielt. Im Gegensatz zu Shopsystem von Drittanbietern (wie z. B. xt:Commerce, OS-Commerce usw.) ist für den JTL-Shop kein zusätzlicher Connector notwendig. Natürlich gibt es einen Administrationsbereich (Backend), in dem sämtliche grundlegenden Einstellungen für den Betrieb des Shops vorgenommen werden. Wurden diese Einstellungen einmal wunschgemäß von Ihnen vorgenommen, erfolgen alle weiteren Vorgänge mittels JTL-Wawi. Hierüber werden Kategorien für Ihren Shop angelegt, Artikel übertragen und vieles mehr. Dies stellt somit eine äußerst bequeme Arbeitsweise für Sie dar. Zum einen arbeiten Sie weiterhin mit der gewohnten Anwendung JTL-Wawi und müssen sich nicht um die Arbeitsweise des Shops kümmern. Zum anderen sind Ihre Daten jederzeit lokal verfügbar, so dass Änderungen schnell vorgenommen werden können und Sicherungen Ihres Datenbestandes direkt auf Ihrem heimischen Rechner landen. Nutzer des JTL-Shops profitieren außerdem von in JTL-Wawi integrierten Funktionen, die entweder ausschließlich oder zumindest vorrangig mit dem JTL-Shop genutzt werden können. So ist es beispielsweise möglich, über JTL-Wawi ein SEO-Modul freizuschalten. Mit dessen Hilfe können Sie Ihren Artikeln entsprechende Schlüsselwörter (Keywords) zuweisen, die Ihnen zu besseren Ergebnissen in Suchmaschinen verhelfen. Ein anderes Beispiel ist die Möglichkeit, Ihren Shop mit verschiedenen Sprachen auszurüsten. Für sämtliche Kategorien, Artikelbeschreibungen und sonstigen Texte in Ihrem Shop können Sie schon in JTL-Wawi die jeweiligen fremdsprachigen Texte hinterlegen. In jedem Fall stellt der JTL-Shop das perfekte Gegenstück zu JTL-Wawi dar, bei dem Sie nicht darauf achten müssen, ob diese oder jene Funktion vom Shopsystem überhaupt unterstützt wird. JTL-SOFTWARE GMBH 5 JTL-SHOP 2 Inhaltsverzeichnis 1 1. Einleitung o 1.1 1.1 Funktionsumfang 1.1.1 Allgemein 1.1.2 Preise / Rabatte 1.1.3 Versandarten / Zahlungsarten 1.1.4 Kunden 1.1.5 Design / Layout 1.1.6 Suchmaschinen 1.1.7 E-Mails JTL-SOFTWARE GMBH 6 JTL-SHOP 2 1.1 Funktionsumfang Allgemein Multisprachfähigigkeit Multiwährungsfähigkeit Beliebig viele Kundengruppen (B2B, B2C, Kombishop, etc.) Steuersystem Gutscheinsystem Couponsystem: Neukundencoupons, Versandkostenfrei-Coupons, Standardcoupons Artikelvariationen (z.B. Größe / Farbe von T-Shirts) + evtl. Aufpreis Unbegrenzte Artikelanzahl Unbegrenzte Kategroieanzahl Unbegrenzte Kategorieverschachtelung möglich Artikel- und Kategoriesichtbarkeiten auf Kundengruppenebene effiziente Artikelsuche Freifeldvariationen Variationen mit Bildern Selbstdefinierbare Unterseiten und Links Grundpreis / Verpackungseinheit X-Selling (Cross-Selling) Kunden, die x gekauft haben, haben auch y gekauft Bestseller Top-Angebote Neuzugänge Schnellkauf vielfältige Lagerbestandsanzeige / Lagerampel Automatische Erzeugung von Vorschaubildern Angebot drucken - Funktion Kategoriebilder möglich JTL-SOFTWARE GMBH 7 JTL-SHOP 2 getrennte Rechnungs- und Lieferadresse möglich effiziente, runderneuerte Kommunikation mit JTL-Wawi Onlinedokumentation Preise / Rabatte Jede Kundengruppe hat eigene Preise Variationsaufpreise / -rabatte auf Kundengruppenebene Staffelpreise pro Kundengruppe Sonderpreise pro Kundengruppe Rabatte auf folgenden Ebenen: Kundengruppe, Kategorie, Kunde Versandarten / Zahlungsarten Versandklassen Versandarten an Lieferländer gekoppelt (somit lassen sich einzelne Zahlungsarten nur in bestimmten Lieferländern nutzen) Zuschlagslisten (wie z. B. Inselzuschläge) Versandkostenfrei ab X möglich Versandkostendeckelung Versandstatus und TrackingID von Bestellungen über JTL-Wawi setzbar Bezahlt-Status wird über JTL-Wawi gesetzt Tracking-Link zum Logistikpartner über JTL-Wawi setzbar (auch in Emails) Zahlungsarten an Versandarten gekoppelt (mit pauschalen / prozentualen Zusatzgebühren / Rabatten) gängige Zahlungsarten + Zahlungsanbieter wie PayPal, Moneybookers PayPal: Zahlungeingang wird automatisch in JTL-Wawi importiert Kunden Kundendatenänderungen / Kundengruppenzugehörigkeiten direkt über JTL-Wawi Kunden können direkt über Wawi Gutscheine vergeben werden JTL-SOFTWARE GMBH 8 JTL-SHOP 2 Kunden können im Shop direkt über Wawi Kundenkonten erstellt werden Einstellung, welche Kundendaten abgefragt werden sollen Bestellung mit Kundenkonto und unregistrierte Bestellung möglich Mein Kundenkonto Bereich mit Bestellungsarchiv, Datenänderungsmöglichkeit, etc. Passwort vergessen Funktion Passwortänderung durch Kunden möglich Beliebig viele Lieferadressen Design / Layout Templatesystem Smarty, dadurch einfache Design- und Layoutanpassung E-Mail-Templates ebenfalls einfach anpassbar Sprachdateien können pro Sprache angepasst werden Suchmaschinen Meta Daten selbstdefinierbar auf Kategorie- / Artikelebene optionales Modul für suchmaschinenfreundliche URLs (www.meinshop.de/produktname) E-Mails E-Mails pro Sprache in HTML/Text definierbar E-Mail-Absenderadressen, -Namen, sowie -Antwortadressen pro E-Mail-Art einstellbar unterschiedliche E-Mail-Arten JTL-SOFTWARE GMBH 9 JTL-SHOP 2 2. Installation Inhaltsverzeichnis 1 2. Installation o 1.1 2.1 Systemvoraussetzungen o 1.2 2.2 Installationsvorgang 1.2.1 2.2.1 Automatische Installation 1.2.2 2.2.2 Manuellle Installation o 1.3 2.3 Problembehebung bei der Installation 1.3.1 2.3.1 Interner Server Fehler 2.1 Systemvoraussetzungen Für den Betrieb von JTL-Shop v2 werden folgende Anforderungen an den Server gestellt: Webserver, z.B. Apache MySql 4.1 oder höher Datenbank PHP 4.3 oder höher GD Lib für PHP (Info) Mailserver safe_mode OFF open_basedir OFF Für den Betrieb von dem optionalen Modul zur Suchmaschinenoptimierung benötigen Sie zusätzlich: mod_rewrite Modul im Webserver JTL-SOFTWARE GMBH 10 JTL-SHOP 2 JTL Shop 2 funktioniert mit JTL Wawi Version 0.9960 oder höher. Die aktuelle Version finden Sie auf unserer Produktseite. 2.2 Installationsvorgang 2.2.1 Automatische Installation Schritt für Schritt Installationsanleitung: Laden Sie das aktuelle Installationspaket von unserer Filebase herunter. Näheres finden Sie in der Email beim Erwerb von JTL Shop 2 Entpacken Sie die Zip-Datei lokal auf Ihren Rechner Die entpackte Software hat folgende Struktur Verzeichnisstruktur: admin bilder classes dbeS export gfx includes install lang jtllogs templates templates_c + zusätzliche einzelne Dateien Diese Verzeichnisse und Dateien müssen nun per FTP auf Ihren Webspace übertragen werden. JTL-SOFTWARE GMBH 11 JTL-SHOP 2 Surfen Sie das Installationsscript mit Ihrem Browser an unter http://ihredomain.de/install/index.php Es erscheint folgendes: JTL-SOFTWARE GMBH 12 JTL-SHOP 2 JTL-SOFTWARE GMBH 13 JTL-SHOP 2 Hier wird Ihr Server als erstes auf alle Anforderungen geprüft. Wird eine nicht erfüllt, muss dies am Server nachinstaliert oder der Server gewechselt werden. Bei der Entwicklung von JTL Shop 2 wurde großer Wert darauf gelegt, dass die Serveranforderungen niedrig bleiben bei gleichzeitig maximaler Funktionsfülle. Als nächstes müssen Sie mit Ihrem FTP-Programm oder direkt per Serverkonsole (nur bei Root-Servern) die Rechte folgender Verzeichnisse (rekursiv, d.h. auch die darin enthaltenen Dateien/Verzeichnisse müssen diese Rechte erhalten) und Dateien so ändern, dass sie vom Web-Server beschreibbar sind. Falls Sie sich nicht sicher sind, unter welchem Benutzer Ihr Webserver läuft, können Sie als Schreibrechte an alle vergeben (777). Folgende Verzeichnisse / Dateien müssen diese Schreibrechte haben: includes/config.JTL-Shop.ini.php bilder/kategorien bilder/produkte/klein bilder/produkte/normal bilder/produkte/gross bilder/variationen/normal bilder/variationen/gross export jtllogs templates_c admin/templates_c dbeS/logs dbeS/tmp Haben Sie dies getan, wird bei jedem dieser Verzeichnisse / Dateien ein grünes OK daneben stehen, wenn Sie die Installationsseite erneut aufrufen. Falls alle Serveranforderungen und Dateirechte mit OK angezeigt werden, können Sie nun eine Datenbank für JTL Shop 2 mit einem Datenbankverwaltungsprogramm wie etwa PhpMyAdmin erstellen und die Daten der Datenbankverbindung hier eintragen: JTL-SOFTWARE GMBH 14 JTL-SHOP 2 der DB-Host ist der Servername, auf dem die Datenbank läuft. Gewöhnlich ist es localhost. Den DB-Benutzernamen erhalten Sie in den meisten Fällen von Ihrem Hoster, es sei denn, Sie haben Root-Rechte auf der Datenbank und können eigene Datenbankbenutzer erstellen. Beachten Sie bitte, dass der Datenbankbenutzer folgende Rechte auf der Datenbank braucht: CREATE, ALTER, INSERT, UPDATE, DELETE. Das DB-Passwort zum Datenbankbenutzer erhalten Sie ebenfalls von Ihrem Hoster. Der Datenbankname ist der Name der Datenbank, die für JTL Shop 2 erstellt wurde und für die der Datenbankbenutzer die oben genannten Rechte besitzt. JTL-SOFTWARE GMBH 15 JTL-SHOP 2 Sind die DB-Angaben korrekt, finden Sie folgendes vor: Hier können Sie den Benuzernamen und Passwort für den Adminbereich des Shops definieren und für die Synchronisation mit JTLWawi. Der Benutzer für die Synchronisation mit JTL-Wawi sollte ein sicheres Passwort haben. Der Synchronisationsbenutzer muss später in JTL-Wawi unter Webshop-Einstellungen eingetragen werden. Sie können natürlich die Vorgaben lassen und auf JTL-SOFTWARE GMBH 16 JTL-SHOP 2 Installation abschließen klicken. Beachten Sie, dass dieser Vorgang dann einige Sekunden dauern kann. Klicken Sie bitte nur einmal auf den Button Installation abschließen. Bei erfolgreicher Installation finden Sie folgende Informationen vor: Sollten Sie bei dem letzten Schritt Probleme erfahren, so können Sie JTL Shop 2 auch manuell installieren. Nach erfolgreicher Installation entfernen Sie bitte das install/ Verzeichnis aus Ihrem Shop. Der Datei includes/config.JTL-Shop.ini.php sollten Schreibrechte entzogen werden. JTL-SOFTWARE GMBH 17 JTL-SHOP 2 2.2.2 Manuellle Installation Dieser Installationsweg sollte nur dann genutzt werden, wenn der automatische Installationsvorgang (insbesondere beim letzten Schritt, beim Klick auf Installation abschließen) nicht erfolgreich war. Dies kommt selten vor und hat mit der Serverkonfiguration / Datenbankversion zu tun. Zur manuellen Installation führen Sie bitte die ersten Schritte wie bei der automatischen Installation bis zur Eingabe der Datenbankparameter durch. Die Datenbank wird bei der manuellen Installation nämlich manuell über PhpMyAdmin aufgesetzt. Vorgehensweise: Erstellen Sie als erstes eine leere Datenbank über PhpMyAdmin, die der Shop nutzen soll. Führen Sie die Datei install/JTL-Shop_v2.sql als SQL-Befehl aus. Führen Sie folgende 2 SQL-Befehle aus: Insert into tadminlogin values('#adminbenutzername#', md5('#adminpasswort#')); Insert into tsynclogin (cName, cPass) values ('#syncbenutzername#', '#syncpasswort#'); Verändern Sie natürlich die Werte #adminbenutzername#, #adminpasswort#, #syncbenutzername# und #syncpasswort#. Nun muss die zentrale Konfigdatei angepasst werden und zwar liegt sie unter includes/config.JTL-Shop.ini.php und schaut so aus: <?php define('PFAD_ROOT',''); define("URL_SHOP",""); define("DB_HOST","localhost"); define("DB_NAME",""); define("DB_USER",""); define("DB_PASS",""); ?> JTL-SOFTWARE GMBH 18 JTL-SHOP 2 Diese muss angepasst werden. PFAD_ROOT ist der komplette (absolute) Pfad auf der Festplatte des Servers zum Shopverzeichnis (meist /var/www/... bzw. C:\... oder D:\.. auf Windows-Systemen) URL_SHOP ist die URL samt http:// zum Shop DB_HOST ist die IP oder Name des Servers, auf dem der MySQL-Server betrieben wird. (meist localhost) DB_NAME Name der Datenbank, die der Shop nutzen soll DB_USER Name des Datenbankbenutzers, der Zugriff auf die Datenbank DB_NAME hat (CREATE, ALTER, INSERT, UPDATE, DELETE - Rechte sind notwendig) DB_PASS Passwort vom Datenbankbenutzer Danach Sind Sie mit der Installation von JTL Shop 2 fertig. In JTL-Wawi tragen Sie unter Webshop-Einstellungen als Web-Server die Adresse (URL) zum Shop ein, als Benutzername gilt #syncbenutzername# und als Passwort #syncpasswort#. Nach erfolgreicher Installation entfernen Sie bitte das install/ Verzeichnis aus Ihrem Shop. Der Datei includes/config.JTL-Shop.ini.php sollten Schreibrechte entzogen werden. 2.3 Problembehebung bei der Installation Hier werden häufig auftretende Probleme und deren Lösung vorgestellt. 2.3.1 Interner Server Fehler Dieser Fehler kommt aufgrund einer nicht akzeptierten Option in der .htaccess im Shopverzeichnis. Bitte dort die erste Zeile auskommentieren, indem eine Raute # davorgesetzt wird: #Options +FollowSymlinks JTL-SOFTWARE GMBH 19 JTL-SHOP 2 3. Einrichtung Inhaltsverzeichnis 1 3. Einrichtung o 1.1 3.1 Einstellungen in JTL-Wawi o 1.2 3.2 Einstellungen im Adminbereich von JTL-Shop v2 1.2.1 3.2.1 Einstellungen 1.2.1.1 3.2.1.1 Globale Einstellungen 1.2.1.2 3.2.1.2 Startseite 1.2.1.3 3.2.1.3 Emails 1.2.1.4 3.2.1.4 Artikelübersicht / Suche 1.2.1.5 3.2.1.5 Artikeldetails 1.2.1.6 3.2.1.6 Kunden / Formulare 1.2.1.7 3.2.1.7 Warenkorb / Kaufabwicklung 1.2.1.8 3.2.1.8 Boxen 1.2.1.9 3.2.1.9 Bilder 1.2.2 3.2.2 Links (Inhaltsseiten / externe Links) 1.2.2.1 3.2.2.1 Linkgruppen 1.2.2.2 3.2.2.2 Links 1.2.3 3.2.3 AGB / WRB 1.2.4 3.2.4 Zahlungsarten 1.2.4.1 3.2.4.1 Einstellungen 1.2.4.2 3.2.4.2 Sofortüberweisung 1.2.4.3 3.2.4.3 TeleCash Click & Pay easy 1.2.4.4 3.2.4.4 United Online Services (UOS) 1.2.5 3.2.5 Versandarten 1.2.5.1 3.2.5.1 Versandarttypen 1.2.5.1.1 3.2.5.1.1 Pauschale Versandkosten JTL-SOFTWARE GMBH 20 JTL-SHOP 2 1.2.5.1.2 3.2.5.1.2 Versandkosten nach Gewicht 1.2.5.1.3 3.2.5.1.3 Versandkosten nach Warenwert 1.2.5.1.4 3.2.5.1.4 Versandkosten nach Artikelanzahl 1.2.5.2 3.2.5.2 Versandarteinstellungen 1.2.5.2.1 3.2.5.2.1 Versandkostenfrei ab X 1.2.5.2.2 3.2.5.2.2 Deckelung 1.2.5.2.3 3.2.5.2.3 Akzeptierte Zahlungsarten der jeweiligen Versandart 1.2.5.2.4 3.2.5.2.4 Lieferländer 1.2.5.3 3.2.5.3 Versandzuschläge (z.B. Inselzuschläge) 1.2.5.3.1 3.2.5.3.1 Inseln PLZ für DPD 1.2.5.4 3.2.5.4 Versandklassen in JTL-Shop 2 1.2.5.4.1 3.2.5.4.1 Was sind Versandklassen und wozu können sie eingesetzt werden? 1.2.5.4.2 3.2.5.4.2 Versandklassen erstellen 1.2.5.4.3 3.2.5.4.3 Versandklassen Artikeln zuweisen 1.2.5.4.4 3.2.5.4.4 Übertragen der Versandklassen zu JTL-Shop 2 1.2.5.4.5 3.2.5.4.5 Erstellung von Versandarten für bestimmte Versandklassen 1.2.5.4.6 3.2.5.4.6 Zahlungsarten abhängig von Artikeln im Warenkorb anbieten 1.2.6 3.2.6 Emailvorlagen 1.2.6.1 3.2.6.1 Basisvariable 1.2.6.2 3.2.6.2 Emailtypen 1.2.7 3.2.7 Kupons 1.2.7.1 3.2.7.1 Standardkupon 1.2.7.2 3.2.7.2 Versandkostenfrei - Kupon 1.2.7.3 3.2.7.3 Neukunden- / Begrüßungskupon 1.2.8 3.2.8 Keywording 1.2.9 3.2.9 Shop - Template 1.2.10 3.2.10 Preissuchmaschinen 1.2.10.1 3.2.10.1 Exportformate 1.2.10.2 3.2.10.2 Exportformat definieren / bearbeiten 1.2.10.3 3.2.10.3 Exportdatei erstellen 1.2.10.4 3.2.10.4 Exportdatei herunterladen 1.2.11 3.2.11 Kundenimport aus anderen Shopsystemen (OSC, XTC, ZC, JTL Shop 1, etc.) 1.2.11.1 3.2.11.1 Kundendaten CSV-Datei erstellen JTL-SOFTWARE GMBH 21 JTL-SHOP 2 1.2.11.2 3.2.11.2 Kundendaten CSV-Datei im JTL Shop 2 importieren 3.1 Einstellungen in JTL-Wawi JTL-Shop v2 kann mit beliebig vielen Kundengruppen, Währungen und Sprachen betrieben werden. Diese Einstellungen werden aus JTLWawi übernommen und sind demnach dort vorzunehmen. Informationen zu diesen Einstellungen in JTL-Wawi finden Sie unter 4.3 Webshop-Einstellungen JTL-Shop v2 kann mit unterschiedlichen Steuerzonen, -klassen und -sätzen umgehen. Somit ist es möglich, andere oder keine Steuer zu berechnen, wenn in ein anderes EU-Land oder Drittland verkauft wird. Der Shop zeigt abhängig vom Rechnungsland des Kunden die korrekten Steuern an. Hat der Kunde noch keine Rechnungsdaten im Shop eingegeben, so gilt als Rechnungsland das Land des Shopbetreibers, also aus den Firmendaten. Weitere Informationen zu Steuern finden Sie unter 4.16 Steuern 3.2 Einstellungen im Adminbereich von JTL-Shop v2 Den Adminbereich von JTL-Shop v2 erreichen Sie über die Adresse http://www.IhrShopname.de/admin Die Zugangsdaten wurden bei der Shopinstallation eingestellt. Falls Sie ein Hostingkunde von JTL-Software sind und keine Zugangsdaten mehr besitzen, so melden Sie sich bei uns. JTL-SOFTWARE GMBH 22 JTL-SHOP 2 3.2.1 Einstellungen JTL-SOFTWARE GMBH 23 JTL-SHOP 2 3.2.1.1 Globale Einstellungen In den globalen Einstellungen werden grundlegende Einstellungen für den Shop vorgenommen. Artikel JTL-SOFTWARE GMBH 24 JTL-SHOP 2 Im Bereich Artikel können Sie einstellen, ob alle Artikel, Artikel mit Lagebstand >0 oder nur Artikel mit Lagerbestand >0 oder deren Bestand kleiner 0 werden darf angezeigt werden sollen. Bei den Grundeinstellungen für die Lagerampel ist zu beachten, das nur die Werte für grün und rot eingegeben werden. Die Werte dazwischen entsprechen dann der gelben Lagerampel. Kategorien Hier können Sie einstellen, ob eine Kategorie ohne Inhalt (ohne Artikel) angezeigt werden soll, oder ob alle Kategorien angezeigt werden. JTL-SOFTWARE GMBH 25 JTL-SHOP 2 Allgemein Hier können Sie die Einstellungen für die Sichtbarkeit der Artikel für die Standardkundengruppe einstellen. Wenn Sie einen GoogleAnalytics Account haben, können Sie hier die entsprechende ID eintragen (UA-xxxxxx). Um den Bestellvorgang verschlüsselt durchzuführen (https) können Sie hier dieses aktivieren, und falls Sie einen SSL-Proxy verwenden hier ebenfalls die entsprechenden Daten eintragen. Meta-Angaben Mit den Meta-Angaben geben Sie die Daten für Ihren Shop für Suchmaschinen an. Titel - Dieser Text wird in der Titelleiste des Browsers angezeigt Meta Description - Hier geben Sie eine kurze (aber nicht zu kurze) Beschreibung Ihres Shops ein. Meta Keywords - In dieses Feld sollten Sie die Schlagworte zu Ihrem Shop eintragen. Einzelne Schlagwörter werden durch ein Komma voneinander getrennt. Meta Publisher - Tragen Sie hier den Herausgeber der Seite ein (im Regelfall dürfte dies Ihr Name sein) JTL-SOFTWARE GMBH 26 JTL-SHOP 2 Meta Copyright - In dieses Feld wird die Person/Firma, die das Copyright bzw. die Urheberrechte auf die Shopinhalte hält eingetragen Meta Title überall anhängen - wenn Sie hier -Ja- auswählen, wird der unter -Titel- angegebene Text auch auf den Produktseiten mitgenutzt Artikelpreis im Titel anhängen - Hier können Sie einstellen, ob der Artikelpreis in der Titelleiste der Artikeldetailseiten mit angegeben wird Wartungsmodus JTL-SOFTWARE GMBH 27 JTL-SHOP 2 Wenn Sie einmal an Ihrem Shop wichtige Arbeiten durchführen müssen, während dieser den Kunden kein Besuch möglich sein kann/darf, können Sie hier den Shop in den Wartungsmodus setzen. Um den Kunden einen Hinweis zu geben, wie lange die Wartung z. B. noch dauert, kann das Feld "Wartungsmodus Hinweis" genutzt werden. Denkbar ist die Funktion für Zeiten von Sicherungen oder während Ihrer Urlaubszeit. 3.2.1.2 Startseite Hier nehmen Sie die Einstellungen für Ihre Startseite vor. Dazu gehören: "Neu im Sortiment" "TOP-Angebot" "Sonderangebot" "Bestseller" Sie können für jede diese Boxen einstellen, wieviele Artikel angezeigt werden sollen. Jeder Box können Sie außerdem eine Sortiernummer zuweisen. Je kleiner die Sortiernummer (beginnend mit 0), desto weiter oben wird die entsprechende Box angezeigt. JTL-SOFTWARE GMBH 28 JTL-SHOP 2 3.2.1.3 Emails In diesem Bereich der Einstellungen richten Sie die E-Mail-Adressen ein, die für die folgenden Aktionen genutzt werden: Bestellbestätigungen Gutscheinversendung Accounterstellung Zahlungseingang/Bezahlt Versandt JTL-SOFTWARE GMBH 29 JTL-SHOP 2 Die ganz am Anfang einzugebende Master E-Mail-Adresse wird immer dann verwendet, wenn keine spezielle E-Mail-Adresse angegeben wird. Wenn Sie bei ....-Email Kopie, eine E-Mail-Adresse eingeben, bekommen Sie eine Kopie der versandten E-Mail geschickt. JTL-SOFTWARE GMBH 30 JTL-SHOP 2 3.2.1.4 Artikelübersicht / Suche Suche Im den Einstellungen für die Suche können Sie einstellen, welche Suchpriorität (0-100) Sie bei der Suche in Artikelname, Suchbegriffe eines Artikels, Artikelnummer, Kurzbeschreibung, Artikelbeschreibung und EAN-Nummer haben möchten. Wobei hier 0 der schlechteste (dort wird dann nicht gesucht) und 100 der beste Wert ist. wieviel Suchtreffer pro Seite ausgegeben werden sollen wieviele Zeichen für einen Suchbegriff mindestens eingegeben werden müssen wie die Reihenfolge/Priorität der Suchtreffersortierung für die Suchanzeige in Name(A-Z), Name(Z-A), Preis (1..9), Preis (9..1), EAN, Artikelaktualität, Artikelnummer, Verfügbarkeit und Gewicht sein soll. Wobei bei der Auswahl 0 dieses Sortierfeld in der Ansicht nicht zur Verfügung steht. Je höher der Wert, desto weiter oben in der Auswahl befindet sich der entsprechende Punkt. JTL-SOFTWARE GMBH 31 JTL-SHOP 2 JTL-SOFTWARE GMBH 32 JTL-SHOP 2 Allgemein Hier stellen Sie ein Lagerbestandsanzeige Anzeige der Kategoriebilder Anzeige der Kategoriebeschreibung Anzahl der Artikel in der Artikelübersicht Standardsortierung Anzahl der Seitenzahlen, die angezeigt werden, wenn die Anzahl der Artikel größer ist als die max. erlaubte Anzahl der Artikel in der Artikelübersicht JTL-SOFTWARE GMBH 33 JTL-SHOP 2 3.2.1.5 Artikeldetails Im Bereich Artikeldetails werden die Einstellungen für X-Selling und weitere allgemeine Einstellungen vorgenommen. Bei X-Selling muss unterschieden werden zwischen dem "Standard" X-Selling (diese Produkte werden in der Wawi zugeordnet) und dem X-Selling (Kunden, die X gekauft haben, haben auch Y gekauft) welches vom Shop erstellt wird. Beide X-Selling Varianten können ab- oder auch angeschaltet werden. Bei X-Selling (Kunden, die X gekauft haben, haben auch Y gekauft) kann (sollte) auf eine maximale Anzahl an Produkten begrenzt werden. Unter Allgemeines können die Einstellungen für Punkte vorgenommen werden Das Formular "Frage zum Produkt" Anzeige der Variationspreise (als Aufpreis oder als Preis inkl. des Aufpreises) Lagerbestandsanzeige (nur anzeigen ob verfügbar, genauen Lagerbestand, Lagerbestandampel verwenden, keine Anzeige) JTL-SOFTWARE GMBH 34 JTL-SHOP 2 Artikelattribute an die Beschreibung mit anhängen (Attribute, die in der Wawi eingegeben worden sind und nicht zu den Funktionsattributen gehören, können an die Beschreibung angehängt werden.) UVP anzeigen Packeinheit / VPE anzeigen (zeigt die Packeinheit ein, sofern diese ungleich 1 ist) Lieferstatus anzeigen (Lieferzeitangabe) Hersteller anzeigen Artikelgewicht anzeigen (wichtig, wenn Sie Versandkosten nach Gewicht nutzen) JTL-SOFTWARE GMBH 35 JTL-SHOP 2 3.2.1.6 Kunden / Formulare Hier wird eingestellt, welche Daten bei der Accounterstellung und Bestellung an Kundendaten Pflicht (JA), optional (Ja, optionale Angabe) oder nicht (Nein) benötigt werden. Auch wird hier die Mindestlänge des Passwortes und das voreingestellte Land eingestellt. JTL-SOFTWARE GMBH 36 JTL-SHOP 2 JTL-SOFTWARE GMBH 37 JTL-SHOP 2 3.2.1.7 Warenkorb / Kaufabwicklung Hier werden folgende Einstellungen vorgenommen. Widerrufsbelehrung im Bestellvorgang anzeigen (Ja/Nein) Bestellnummer Präfix (die hier eingebenen Zeichen werden vor die eigentliche Auftragsnummer gesetzt) Bestellnummer Anfangsnummer (die fortlaufende Auftragsnummer fängt mit dieser Zahl an) Bestellnummer Suffix (die hier eingebenen Zeichen werden hinter die eigentliche Auftragsnummer gesetzt) Gesamtsumme auf 5 Rappen / Cent runden (sinnvoll z.B. für Schweiz, Holland, ...) JTL-SOFTWARE GMBH 38 JTL-SHOP 2 Die Bestellnummer setzt sich dann wie folgt zusammen {präfix}{fortlaufende Nummer+anfangsnummer}{suffix} 3.2.1.8 Boxen In diesem Bereich der Einstellungen können Sie die folgende Boxen aktivieren und weitere Einstellungen zu der jeweiligen Box vornehmen Box Bestseller JTL-SOFTWARE GMBH 39 JTL-SHOP 2 Box Sonderangebote Box Neu im Sortiment Box Top Angebot Box Zuletzt angesehen Box Schnellkauf JTL-SOFTWARE GMBH 40 JTL-SHOP 2 JTL-SOFTWARE GMBH 41 JTL-SHOP 2 3.2.1.9 Bilder Hier stellen Sie ein, auf welche Größe die entsprechenden Bilder automatisch skaliert werden. Kategoriebilder Variationsbilder groß Variationsbilder normal Produktbilder groß Produktbilder normal Produktbilder klein Als letzter Punkt kann die Qualität (Komprimierung) bei JPG Bildern eingestellt werden. Der Wert 80 entspricht beispielsweise 80% der Bildqualität. Wenn Sie das Bildbranding nutzen möchten, so ersetzen Sie bitte das Brandingbild gfx/branding.png JTL-SOFTWARE GMBH 42 JTL-SHOP 2 JTL-SOFTWARE GMBH 43 JTL-SHOP 2 3.2.2 Links (Inhaltsseiten / externe Links) JTL-SOFTWARE GMBH 44 JTL-SHOP 2 3.2.2.1 Linkgruppen 3.2.2.2 Links 3.2.3 AGB / WRB Hier geben Sie Ihre AGB und Ihre Widerrufsbelehrung in Textform und in HTML ein. Für die Erstellungen im Textformat können Sie jedes Textprogramm nutzen (Word etc.) Bitte verwenden Sie dabei keine Formatierungen. Für die Erstellung des HTML-Textes können gängige Webdesignprogramme verwendet werden (Frontpage, Adobe GoLive), wobei auch viele Standardtextprogramme eine Speicherung in HTML ermöglichen. 3.2.4 Zahlungsarten 3.2.4.1 Einstellungen In den Einstellungen für die Zahlungsarten können Sie die installierten Zahlungsarten sehen und die erforderlichen Angaben/Einstellungen vornehmen. Zu den notwendigen Einstellungen gehören folgende Einstellungen, die aber nicht bei jeder Zahlungsart gefordert sein können: JTL-SOFTWARE GMBH 45 JTL-SHOP 2 Angezeigter Name (wird in der Kaufabwicklung angezeigt) Gebührname (für jede eingerichtete Zahlungsart können Sie festlegen, ob Sie für die Nutzung dieser Zahlungsart eine zusätzliche Gebühr erheben möchten. Möchten Sie z. B. bei Zahlung mit PayPal eine zusätzliche Gebühr von X % erheben, können Sie in diesem Feld bspw. »zusätzliche Gebühr für Zahlung mit PayPal« eintragen) Erlaubte Kundengruppen (die diese Zahlungsart nutzen dürfen) Sortiernummer (Reihenfolge der Anzeige in der Kaufabwicklung) Anzahl der nötigen Bestellungen, damit dem Kunden diese Bezahlart ermöglicht wird Mindestbestellwert, ab welchem dem Kunden diese Bezahlart ermöglicht wird maximaler Bestellwert, bis zu welchem dem Kunden diese Bezahlart ermöglicht wird E-Mail-Adresse (bei PayPal, Moneybookers) JTL-SOFTWARE GMBH 46 JTL-SHOP 2 3.2.4.2 Sofortüberweisung Hier ist eine Besonderheit zu beachten. Zur sicheren Übertragung und vor allem um sicher zu stellen, dass niemand Daten fälscht, empfehlen wir hier im entsprechenden Projekt in den Einstellungen die "Input-Prüfung" zu aktivieren. Dadurch wird bei jedem JTL-SOFTWARE GMBH 47 JTL-SHOP 2 Datenabgleich ein Hash verwendet, der zusammen mit dem angegebenen "Projekt-Passwort" garantiert, dass die Daten vom Server von Sofortüberweisung kommen. So kann sicher gestellt werden, dass die Zahlung wirklich bei Sofortüberweisung.de eingegangen ist. Zusätzlich ist es hierfür unbedingt nötig, dass als "Erfolgslink" folgendes eingetragen wird: http://www.<IHRSHOP>.de/bestellabschluss.php?i=-USER_VARIABLE_53.2.4.3 TeleCash Click & Pay easy Hier gibt es unter den Einstellungen -> Zahlungsarten einmal die "Click&Pay easy Kreditkarte" und einmal die "Click&Pay easy Lastschrift" beide Verfahren unterstützt der Shop. Je nachdem, welches davon benutzt wird, müssen dort die Einstellungen eingetragen werden. Natürlich können auch beide Verfahren genutzt werden. Das wichtigste ist die "MerchantID", die Sie von TeleCash erhalten, diese muss auf jeden Fall richtig eingetragen sein. Auch wichtig, aber optional, ist der "SecretHash" - hier wird quasi ein Passwort eingetragen, welches nur dem Shop und TeleCash bekannt ist. Dadurch wird sichergestellt, dass die Zahlungsbestätigung wirklich von TeleCash kommt, denn sie kann nicht mehr gefälscht werden, ohne dass jemandem das Passwort bekannt ist. Das Passwort selber wird übrigens nie übertragen, es wird lediglich genutzt, um alle Daten zu verschlüsseln. Das Verschlüsseln geschieht auf beiden Seiten - Shop sowie TeleCash - so können auf beiden Seiten die Daten verifiziert werden. Der Vorteil durch das Einsetzen des SecretHash für den Shopbetreiber besteht darin, dass der Zahlungseingang im Shop vermerkt wird, ohne dass SecretHash manuell überprüfen muss, ob die Zahlung eingegangen ist. Zwei URLs müssem Telecash noch mit auf den Weg gegeben werden, damit die Zahlung im Shop vermerkt werden kann: 1. http://www.<IHRSHOP>.de/includes/modules/clickpay/GetOrderInfo.php 2. http://www.<IHRSHOP>.de/includes/modules/clickpay/NotifyShop.php 3.2.4.4 United Online Services (UOS) Die Einstellungen verhalten sich hier ähnlich wie bei dem vorherigen Kapitel. Das Passwort heißt hier aber "SecretKey". Anders als bei TeleCash muss hier jedoch der SecretKey verwendet werden. JTL-SOFTWARE GMBH 48 JTL-SHOP 2 3.2.5 Versandarten 3.2.5.1 Versandarttypen 3.2.5.1.1 Pauschale Versandkosten Hier können Sie pauschale Versandkosten pro Versandregion einrichten. 3.2.5.1.2 Versandkosten nach Gewicht Hier können für jede Versandregion Zahlungsarten gesetzt und Versandkosten nach Gewicht gestaffelt werden. Es können mehrere Versandarten für dieselbe Region definiert werden. Somit erhalten Kunden eine Auswahl an Versandarten für dieselbe Region und Zahlungsart. JTL-SOFTWARE GMBH 49 JTL-SHOP 2 3.2.5.1.3 Versandkosten nach Warenwert Hier können für jede Versandregion Zahlungsarten gesetzt und Versandkosten nach Warenwert gestaffelt werden. Es können mehrere Versandarten für dieselbe Region mit denselben oder unterschiedlichen Staffelungen definiert werden. Somit erhalten Kunden eine Auswahl an Versandarten für dieselbe Region und Zahlungsart. JTL-SOFTWARE GMBH 50 JTL-SHOP 2 3.2.5.1.4 Versandkosten nach Artikelanzahl Hier können für jede Versandregion Zahlungsarten gesetzt und Versandkosten nach Artikelanzahl gestaffelt werden. Es können mehrere Versandarten für dieselbe Region mit denselben oder unterschiedlichen Staffelungen definiert werden. Somit erhalten Kunden eine Auswahl an Versandarten für diesselbe Region und Zahlungsart. JTL-SOFTWARE GMBH 51 JTL-SHOP 2 3.2.5.2 Versandarteinstellungen 3.2.5.2.1 Versandkostenfrei ab X Ab diesem Warenwert werden keine Versandkosten mehr berechnet - die Lieferung erfolgt dann versandkostenfrei. 3.2.5.2.2 Deckelung Sie können hierbei Deckelungen für die jeweiligen Versandarten festlegen. Deckelung auf fünf Euro bedeutet, dass dem Kunden maximal 5 Euro an Versandkosten berechnet werden. JTL-SOFTWARE GMBH 52 JTL-SHOP 2 3.2.5.2.3 Akzeptierte Zahlungsarten der jeweiligen Versandart Hier können Sie auswählen, welche Zahlungsarten für welche Versandart gelten sollen. So ist es zum Beispiel möglich, dass die Zahlungsart Paypal nur bei Paketversand erlaubt wird. Zusätzlich kann noch für jede Zahlungsart ein Aufpreis oder Rabatt als Betrag oder Prozentsatz eingerichtet werden. 3.2.5.2.4 Lieferländer Sie können für jede Versandart einstellen für welches Land oder für welche Versandregion diese Versandart gelten soll. JTL-SOFTWARE GMBH 53 JTL-SHOP 2 3.2.5.3 Versandzuschläge (z.B. Inselzuschläge) Klicken Sie auf die einzelnen Versandländer, um Zuschlagslisten (z.B. Inselzuschläge) zu definieren. Ein (Zuschlag) deutet darauf hin, dass das Lieferland Zuschlagslisten für die jeweilige Versandart definiert hat. Nun haben Sie die Möglichkeit, einen Namen für die Zuschlagsliste festzulegen und können den Preis eintragen. JTL-SOFTWARE GMBH 54 JTL-SHOP 2 Im nächsten Fenster können Sie einzelne Postleitzahlen oder ganze Postleitzahlenbereiche einrichten. Für diese Postleitzahlen tritt dann der Zuschlag in Kraft. JTL-SOFTWARE GMBH 55 JTL-SHOP 2 Ist für ein Land ein Zuschlag eingerichtet, so erscheint in der Versandartenübersicht hinter diesem Land (Zuschlag) JTL-SOFTWARE GMBH 56 JTL-SHOP 2 3.2.5.3.1 Inseln PLZ für DPD Nachfolgend eine Liste mit PLZ von Inseln für DPD. Diese Liste erhebt keinen Anspruch auf Richtigkeit und Vollständigkeit. Deutschland (DE) 18565, 25845, 25846-25847, 25849, 25859, 25863, 25869, 25929-25933, 25938-25942, 25946-25949, 2595225955, 25961-25970, 25980, 25985-25986, 25988-25990, 25992-25994, 25996-25999, 26465, 26474, 26486, 26548, 26571, 26579, 26757, 27498, 83209***, 83256 Dänemark (DK) 3700, 3720, 3730, 3740, 3751, 3760, 3770, 3782, 3790, 4592, 5960, 5970, 5985, 6720, 7884, 8305, 8592, 9940, 9950, 9960, Grönland: 3900-3999* Färöer-Inseln: 100-970** Estland (EE) 91301, 92001-92420, 93001-94702, 62601 Finnland (FI) Aland-Inseln: 22100, 22130, 22150, 22220, 22240, 22270, 22310, 22320, 22330, 22340, 22410, 22430, 22520, 22530, 22550, 22610, 22630, 22710, 22720, 22730, 22810, 22820, 22830, 22840, 22910, 22920, 22930, 22940, 22950 Frankreich (FR) 17410, 17580, 17590, 17630, 17630, 17670, 17740, 17880, 17940, 22870, 29242, 29253, 29259, 56360, 56590, 56780, 85330, 85350, Korsika: 20000-20999 Griechenland (GR) 18010, 18020, 18040, 18050, 80100, 81100-81113, 81200, 81300, 81400-81401, 82100, 82102-82104, 82200, 82300, 83100-83104, 83200, 84002-84003, 84005, 84008-84010, 84100, 84200-84201, 84300-84302, 84400-84401, 84500, 84600, 84702, 84800-84801, 84804, 85001-85002, 85100-85109, 85111, 85200, 85300, 85303, 85400-85401, 85500, 85600, 85700, 85800 Kreta: 70001-70017, 70100, 70200, 70300, 70400, 72051, 72053, 72056-72059, 72100, 72300, 72400, 73001-73014, 73100, 73200, 73400, 74000, 74100 JTL-SOFTWARE GMBH 57 JTL-SHOP 2 Großbritannien (GB) BT1-82, BT92-94, BT99, GY1-9, HS1-9, IM1-9, IV1-28, IV 36, IV40-56, IV63, JE1-4, KA 27-28, KW1-17, PA20-38, PA41-78, PH20-26, PH31-44, PO30-41, ZE1-3 Italien (IT) 4020, 4027, 7024, 7042, 9014, 25050, 30010, 30012, 30100, 30121-30126, 30131-30133, 30135, 30141, 57030-57039, 58010, 58012-58013, 58018, 71040, 80070-80071, 80073-80077, 80079, 90010, 91017, 91023, 92010, 98050, 98052, 98055, Sizilien: 9001090151, 91010-91100, 92010-92100, 93010-93100, 94010-94100, 95010-95127, 96010-96100, 97010-97100, 98020-98168 Sardinien: 0801008100, 09010-09049, 09070-09099, 09100, 09124, 09126, 09170 Kroatien (HR) 20221-20226, 20260-20261, 20263-20264, 20270-20275, 20289-20290, 21225, 21400-21401, 21403-21405, 21410, 2141221413, 21420, 21423-21426, 21430-21432, 21450, 21454, 21460, 21462-21463, 21465-21469, 21480, 21483, 21485, 22000, 22010, 22020, 22030, 22202-22206, 22211-22215, 22221-22223, 22231-22236, 22240, 22242-22244, 22300-22307, 22310-22312, 22317-22324, 23212, 23234, 23249-23251, 23262-23264, 23271-23275, 23281-23287, 23291-23296, 51280-51282, 51500, 51511-51517, 51521-51523, 51542, 51550-51557, 51559, 51561-51564, 53291, 53294, 53296-53297 Niederlande (NL) 1791-1797, 8881-8884, 8891-8897, 8899, 9161-9164, 9166 Norwegen (NO) 9170, 9172-9179 Portugal (PT) Azoren: 9500, 9545, 9555, 9560, 9580, 9600, 9625, 9630, 9650, 9675, 9680, 9700, 9760, 9800, 9850, 9875, 9880, 9900, 9930, 9940, 9950, 9960, 9970, 9980, Madeira: 9000, 9050, 9100, 9125, 9135, 9200, 9225, 9230, 9240, 9270, 9300, 9325, 9350, 9360, 9370, 9385, 9400 Schweden (SE) 10005, 13000-13099, 37020-37029, 37042-37043, 38060-38099, 38500-38599, 38700-38799, 43000-43099, 4710047499, 62000-62999, 76010-76099 Spanien (ES) Balearen: 07000-07999, Kanaren: 35000-35999** wird über Luftfracht bedient, ** nur über DPD EXPRESS, *** Postleitzahl existiert auch auf dem Festland JTL-SOFTWARE GMBH 58 JTL-SHOP 2 3.2.5.4 Versandklassen in JTL-Shop 2 3.2.5.4.1 Was sind Versandklassen und wozu können sie eingesetzt werden? Versandklassen erlauben eine individuelle Versandkostenberechnung abhängig vom Warenkorbinhalt. Jeder Artikel in JTL-Wawi und somit auch in JTL-Shop 2 gehört einer Versandklasse an. Die Versandklassen erlauben eine vom Shopbetreiber vorher definierte Versandkostenauswahl, die dem Shopkunden bei einer Bestellung zur Verfügung gestellt wird, abhängig von den Artikeln, die in den Warenkorb gelegt wurden. In JTL-Shop 2 können Sie weiterhin mit Versandklassen entscheiden, welche Zahlungsarten bei bestimmten Artikeln angeboten werden sollen. Schauen Sie hierzu unter Zahlungsarten abhängig von Artikeln im Warenkorb anbieten. Beispiel 1 (2 Versandklassen) Sie vertreiben Angelzubehör sowie Bücher in Ihrem Shop. Mit Versandklassen sind Sie in der Lage, unterschiedliche Versandarten und kosten anzubieten, abhängig von den Artikeln im Warenkorb: Ein Kunde kauft ausschließlich Bücher -> Versandart Büchersendung (ab einer gewissen Anzahl an Büchern bzw. ab einem bestimmten Gesamtgewicht können entsprechende Versandarten definiert werden) Ein Kunde kauft ausschließlich Angelzubehör -> gewöhnliche Versandarten / -preise bei Paketen sollen angezeigt werden Ein Kunde kauft mindesten ein Buch sowie mindestens ein Teil aus Angelzubehör -> passende Versandarten sollen angezeigt werden Beispiel 2 (3 Versandklassen) Sie vertreiben schwere Elektrogeräte (Waschmaschine), passendes Zubehör (Wasserzulaufschlauch) sowie Kleinteile (Dichtung): Kunde kauft Waschmaschine -> Versandart Spedition soll angezeigt werden Kunde kauft Wasserzulaufschlauch -> Versand als normales Paket / Päckchen soll angezeigt werden Kunde kauft Dichtung -> Versand als Brief bzw. als Paket / Päckchen ab einer bestimmten Anzahl / Gewicht / Warenwert soll angezeigt werden Kunde kauft Waschmaschine und Wasserzulaufschlauch -> Spedition soll angezeigt werden Kunde kauft Waschmaschine und Dichtung -> Spedition soll angezeigt werden JTL-SOFTWARE GMBH 59 JTL-SHOP 2 Kunde kauft Waschmaschine, Wasserzulaufschlauch und Dichtung -> Spedition soll angezeigt werden Kunde kauft Wasserzulaufschlauch und Dichtung -> Versand als normales Paket / Päckchen soll angezeigt werden Wie sie sehen, können Sie jedes mögliche Szenario mit eigenen Versandarten und -preisen abdecken. Beachten Sie, dass mit steigender Versandklassenzahl die Komplexität der möglichen Einkaufszenarien steigen. 3.2.5.4.2 Versandklassen erstellen Versandklassen werden wie fast alles in JTL-Wawi gepflegt und erstellt. Gehen Sie hierzu im Menü Einstellungen -> Versandklassen. JTL-SOFTWARE GMBH 60 JTL-SHOP 2 Hier können Sie nun alle Versandklassen erstellen, die Sie überhaupt nutzen möchten. Beachten Sie bitte, dass Versandklasse "standard" von JTL-Wawi erstellt ist und nicht gelöscht werden kann. Alle neu erstellten Artikel erhalten diese Standard-Versandklasse zugewiesen. 3.2.5.4.3 Versandklassen Artikeln zuweisen Als nächstes müssen Sie Ihren Artikeln eine Versandklasse zuordnen. Sie können maximal eine Versandklasse einem Artikel zuordnen. Rufen Sie hierzu die Artikeldetails des gewünschten Artikels auf und weisen Sie ihm die gewünschte Versandklasse zu: JTL-SOFTWARE GMBH 61 JTL-SHOP 2 Sie können auch allen Artikeln in einer Kategorie (sowie in allen Unterkategorien dieser Kategorie) auf einen Schlag die Versandklasse ändern. Gehen Sie hierzu in die Kategoriedetails der jeweiligen Kategrie, wählen Sie die gewünschte Versandklasse aus und klicken Sie auf setzen: Dadurch werden allen Artikeln in dieser Kategorie sowie allen Artikeln in deren Unterkategorien die Versandklasse gesetzt. JTL-SOFTWARE GMBH 62 JTL-SHOP 2 3.2.5.4.4 Übertragen der Versandklassen zu JTL-Shop 2 Hier brauchen Sie nichts weiter tun, als einen Shopabgleich zu starten. Beachten Sie bitte, dass JTL-Shop 2 Versandklassen erst ab der Version 2.13 unterstüzt. 3.2.5.4.5 Erstellung von Versandarten für bestimmte Versandklassen Nun können Sie all Ihren Versandarten im Shop eine oder mehrere Versandklassen zuordnen. Der Shop beachtet dann automatisch bei jeder Bestellung, welche Artikel mit welchen Versandklasse/n sich im Warenkorb befinden und zeigt dann alle Versandarten an, die für diese Versandklasse/n gelten. Beispiel: In JTL-Wawi existieren die Versandklassen standard, Bücher und Spedition, demnach gibt es bei jeder Versandart folgende Versandklassen und Versandklassenkombinationen zur Auswahl: standard Bücher Spedition standard + Bücher standard + Spedition Bücher + Spedition standard + Bücher + Spedition Sie können jeder Versandart eine oder mehr Versandklassen zuordnen: JTL-SOFTWARE GMBH 63 JTL-SHOP 2 JTL-SOFTWARE GMBH 64 JTL-SHOP 2 ACHTUNG: Dabei bedeutet standard + Bücher hierbei nicht, dass im Warenkorb entweder ein oder mehrere Artikel mit der Versandklasse standard oder ein oder mehrere Artikel der Versandklasse Bücher enthalten sein müssen, sondern dass mindestens 1 Artikel mit Versandklasse standard und mindestens ein Artikel mit Versandklasse Bücher enthalten sein müssen. Es muss also immer mindestens ein Artikel der aufgezählten Versandklassen im Warenkorb enthalten sein, damit die jeweilige Versandart greifen kann. Sie können mehrere Versandklassen auswählen, indem Sie die STRG bzw. SHIFT Taste gedrückt halten und auf die Versandklassen klicken. 3.2.5.4.6 Zahlungsarten abhängig von Artikeln im Warenkorb anbieten Sie können mit Versandklassen nicht nur zum Inhalt des Warenkorbs passende Versandarten anbieten, Sie können auch bestimmte Zahlungsarten nur bei bestimmten Artikeln anbieten bzw. nicht anbieten. Das ist möglich, weil Sie bei den Versandarten bestimmen, welche Zahlungsarten akzeptiert werden sollen. So können Sie beliebig viele Versandarten mit den gewünschten bzw. nicht gewünschten Zahlungsarten erstellen und ihnen die jeweiligen Versandklassen zuorden. 3.2.6 Emailvorlagen Hier können Vorlagen für alle Emails angepasst werden, die der Shop verschicken kann. Diese Vorlagen werden von der SmartyTemplate Engine bearbeitet. Wenn Sie eine Testemail anfordern, so erhalten Sie Emails in jeder im Shop verfügbaren Sprache. 3.2.6.1 Basisvariable 3.2.6.2 Emailtypen Folgende Emails stehen sowohl als html als auch txt Variante zur Verfügung und können individuell angepasst werden: Accounterstellung durch Shopbetreiber Kundenaccountlöschung Bestellbestätigung Bestellung bezahlt JTL-SOFTWARE GMBH 65 JTL-SHOP 2 Bestellung versandt Gutschein Kupon (Standard / Versandkupon) Neukundenregistrierung Passwort vergessen JTL-SOFTWARE GMBH 66 JTL-SHOP 2 3.2.7 Kupons JTL-SOFTWARE GMBH 67 JTL-SHOP 2 3.2.7.1 Standardkupon Ein Standardkupon kann an einzelne Kunde vergeben werden, nur für einen Artikeln oder aber auch für alle Artikel gelten. Mit diesem Kupon ist fast alles möglich. Dabei können / müssen folgende Angaben gemacht werden: Kuponname - ein aussagender Name, damit Ihr sofort wisst, was für ein Kupon das ist angezeigter Name (Deutsch) - dieser wird in der Kaufabwicklung angezeigt Wert - Hier ist eine Angabe in Euro oder Prozent (%) möglich Steuerklasse - bitte enstprechend Eurem Shop einstellen Mindestbestellwert - Hier könnt Ihr einen MBW eintragen, ab welchem der Kupon erst genutzt werden kann Code (optional) - Hier könnt Ihr einen eigenen Kuponcode eintragen. Wenn Ihr das feld leer lasst, wird vom Shop ein Code vergeben max. Verwendungen - hier könnt Ihr die max. Anzahl an Verwendungen dieses Kupons im Shop einstellen. So z.B. 100. Dann kann der 101 Kunde den Kupon trotz EIngabe des Kuponcodes nicht mehr nutzen max. Verwendung pro Kunde - siehe oben, aber auf Kunde bezogen Beschränken auf Artikelnummern - hier könnt Ihr den Kupon auf einen oder mehrere Artikel beschränken. Eingegeben werden muss hier die Artikelnummer, wobei bei mehreren Artikelnummern diese durch ein Semikolon getrennt werden müssen. Gilt nur für Kundengruppe - Hier können Sie den Kupon auf eine bestimmte Kundengruppe (z.B. Händler) beschränken. Gültigkeit - kann per Datumseingabe beschränkt werden aktiv - ja oder nein Beschränken auf Kategorien - hier kann der Kupon auf bestimmte Kategorien beschränkt werden beschränken auf Kunden - wie davor nur auf Kunden bezogen JTL-SOFTWARE GMBH 68 JTL-SHOP 2 JTL-SOFTWARE GMBH 69 JTL-SHOP 2 3.2.7.2 Versandkostenfrei - Kupon Der Versandkostenfreikupon, wird wie der Name schon sagt genutzt, um den Kunden mit Eingabe dieses kupons eine versandkostenfreie Lieferung anzubieten Dabei können / müssen folgende Angaben gemacht werden: Kuponname - ein aussagender Name, damit Ihr sofort wisst, was für ein Kupon das ist angezeigter Name (Deutsch) - dieser wird in der Kaufabwicklung angezeigt Gilt für Zusatzgebühren - wie z.B. Nachnahmegebühr ertc. Mindestbestellwert - Hier könnt Ihr einen MBW eintragen, ab welchem der Kupon erst genutzt werden kann Code (optional) - Hier könnt Ihr einen eigenen Kuponcode eintragen. Wenn Ihr das feld leer lasst, wird vom Shop ein Code vergeben Gilt für folgende Länder - Hier Semikolongetrennte ISO-Codes der Länder (z.B. DE, AT, CH) eintragen max. Verwendungen - hier könnt Ihr die max. Anzahl an Verwendungen dieses Kupons im Shop einstellen. So z.B. 100. Dann kann der 101 Kunde den Kupon trotz EIngabe des Kuponcodes nicht mehr nutzen max. Verwendung pro Kunde - siehe oben, aber auf Kunde bezogen Beschränken auf Artikelnummern - hier können Sie den Kupon auf einen oder mehrere Artikel beschränken. Eingegeben werden muss hier die Artikelnummer, wobei bei mehreren Artikelnummern diese durch ein Semikolon getrennt werden müssen. Gilt nur für Kundengruppe - Hier können Sie den Kupon auf eine bestimmte Kundengruppe (z.B. Händler) beschränken. Gültigkeit - kann per Datumseingabe beschränkt werden aktiv - ja oder nein Beschränken auf Kategorien - hier können Sie den Kupon auf bestimmte Kategorien beschränken Beschränken auf Kunden - wie davor nur auf Kunden bezogen JTL-SOFTWARE GMBH 70 JTL-SHOP 2 JTL-SOFTWARE GMBH 71 JTL-SHOP 2 3.2.7.3 Neukunden- / Begrüßungskupon Der Neukundenkupon dient dazu, Kunden die sich das erste mal im Shop anmelden bzw. etwas kaufen, einen Kaufanreiz über einen Rabatt anzubieten Dabei können / müssen folgende Angaben gemacht werden: Kuponname - ein aussagender Name, damit Ihr sofort wisst, was für ein Kupon das ist angezeigter Name (Deutsch) - dieser wird in der Kaufabwicklung angezeigt Wert - Hier ist eine Angabe in Euro oder Prozent (%) möglich Mindestbestellwert - Hier können Sie einen MBW eintragen, ab welchem der Kupon erst genutzt werden kann max. Verwendungen - hier könnt Ihr die max. Anzahl an Verwendungen dieses Kupons im Shop einstellen. So z.B. 100. Dann kann der 101 Kunde den Kupon trotz Eingabe des Kuponcodes nicht mehr nutzen Beschränken auf Artikelnummern - hier können Sie den Kupon auf einen oder mehrere Artikel beschränken. Eingegeben werden muss hier die Artikelnummer, wobei bei mehreren Artikelnummern diese durch ein Semikolon getrennt werden müssen. Gilt nur für Kundengruppe - Hier können Sie den Kupon auf eine bestimmte Kundengruppe (z.B. Händler) beschränken. Gültigkeit - kann per Datumseingabe beschränkt werden aktiv - ja oder nein Beschränken auf Kategorien - hier können Sie den Kupon auf bestimmte Kategorien beschränken JTL-SOFTWARE GMBH 72 JTL-SHOP 2 JTL-SOFTWARE GMBH 73 JTL-SHOP 2 3.2.8 Keywording Ihre Meta Keywords von Produktdetailseiten werden automatisch aus den jeweiligen Produktdaten generiert, sofern das Produkt keine explizite Meta Keywords über Funktionsattribute zugewiesen hat. Hier können Sie nun irrelevante Wörter nach Sprachen getrennt ausschließen, die nicht als Keywords genutzt werden sollen. Trennzeichen ist das Leerzeichen. 3.2.9 Shop - Template Hiermit können Sie das gesamte Aussehen des Shops verändern (Template wechseln). Falls Sie ein neues Template haben und es nutzen möchten, so übertragen Sie es bitte vorerst per FTP in dieses Verzeichnis: templates/ JTL-SOFTWARE GMBH 74 JTL-SHOP 2 3.2.10 Preissuchmaschinen JTL-SOFTWARE GMBH 75 JTL-SHOP 2 3.2.10.1 Exportformate 3.2.10.2 Exportformat definieren / bearbeiten Folgende Variablen stehen den Exportformaten zur Verfügung: Variablenname Typ Beschreibung Artikel Objekt Dieses Objekt repräsentiert einen Artikel Artikel->kArtikel Schlüssel Artikel->fLagerbestand Zahl Artikel->fMindestbestellmenge Zahl Artikel->fGewicht Zahl Artikel->fUVP Zahl Unverbindliche Preisempfehlung Artikel->cName String Name des Artikels in der aktuellen Sprache Artikel->cBeschreibung String Beschreibung in der aktuellen Sprache in reinem Text (von HTML bereinigt) Artikel->cBeschreibungHTML String Beschreibung in der aktuellen Sprache im HTML Format Artikel->cAnmerkung String Anmerkung des Artikels JTL-SOFTWARE GMBH 76 JTL-SHOP 2 Artikel->cArtNr String Artikelnummer Artikel->cEinheit String Einheit des Artikels Artikel->cBarcode String EAN / Barcode des Artikls Artikel->cKurzBeschreibung String Kurzbeschreibung in der aktuellen Sprache in reinem Text (von HTML bereinigt) Artikel->cKurzBeschreibungHTML String Kurzbeschreibung in der aktuellen Sprache im HTML Format Artikel->cHersteller String Hersteller in der aktuellen Sprache Artikel->cHerstellerHomepage String URL zur Herstellerhomepage Artikel->cMwstVersandText String Zeichenkette "inkl. / exkl. X% USt., zzgl. Versand" Artikel->cMwstText String Zeichenkette "inkl. / exkl. X% USt." Artikel->cLieferstatus String Lieferstatus in der aktuellen Sprache Artikel->cVorschaubild Pfad Pfad zum Vorschaubild des Artikels Artikel->cTopArtikel Bool Top-Artikel (Y/N) Artikel->cNeu Bool Neu im Sortiment (Y/N) Artikel->Bilder Objektarray Bilder zu diesem Artikel JTL-SOFTWARE GMBH 77 JTL-SHOP 2 Artikel->Bilder[i]->nNr Zahl Bildnummer Artikel->Bilder[i]->cPfadKlein Pfad Pfad zum Vorschaubild Artikel->Bilder[i]->cPfadNormal Pfad Pfad zum Normalbild Artikel->Bilder[i]->cPfadGross Pfad Pfad zum großen Bild Artikel->FunktionsAttribute Array siehe ####LINK#### Artikel->Attribute Array siehe Attribute Artikel->Variationen ObjektArray siehe Variationen Artikel->Variationen[i]->kEigenschaft Schlüssel Artikel->Variationen[i]->cName String Name der Variation Artikel->Variationen[i]->cTyp String Auswahltyp der Variation (SELECTBOX, RADIO, FREIFELD) Artikel->Variationen[i]->nSort Zahl Sortiernummer Artikel->Variationen[i]->Werte ObjektArray Artikel->Variationen[i]->Werte[o]>kEigenschaftWert Schlüssel JTL-SOFTWARE GMBH 78 JTL-SHOP 2 Artikel->Variationen[i]->Werte[o]->cName String Name des Variationswertes Artikel->Variationen[i]->Werte[o]>fAufpreisNetto Zahl Aufpreis / Rabatt dieses Variationswertes Netto Artikel->Variationen[i]->Werte[o]>fGewichtDiff Zahl Gewichtsdifferenz zum Artikel dieses Variationswertes Artikel->Variationen[i]->Werte[o]->cArtNr String Artikelnummer dieses Variationswertes Artikel->Variationen[i]->Werte[o]->nSort Zahl Sortiernummer Artikel->Variationen[i]->Werte[o]>fLagerbestand Zahl Lagerbestand dieses Variationswertes Artikel->Variationen[i]->Werte[o]>fPackeinheit Zahl Packeinheit Artikel->Variationen[i]->Werte[o]>cAufpreisLocalized PreisArray Aufpreis / Rabatt Netto [1] / Brutto [0] mit Währungsangabe Artikel->Variationen[i]->Werte[o]>cPreisInklAufpreis PreisArray Artikelpreis inkl. Aufpreis / Rabatt Netto [1] / Brutto [0] mit Währungsangabe Artikel->Preise Objekt Preise dieses Artikels Artikel->Preise->cVKLocalized PreisArray EinzelVK Netto[1] / Brutto [0] mit Währungsangabe JTL-SOFTWARE GMBH 79 JTL-SHOP 2 Artikel->Preise->nAnzahl1 Zahl Menge der Staffel 1 Artikel->Preise->nAnzahl2 Zahl Menge der Staffel 2 Artikel->Preise->nAnzahl3 Zahl Menge der Staffel 3 Artikel->Preise->nAnzahl4 Zahl Menge der Staffel 4 Artikel->Preise->nAnzahl5 Zahl Menge der Staffel 5 Artikel->Preise->cPreis1Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 1 Artikel->Preise->cPreis2Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 2 Artikel->Preise->cPreis3Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 3 Artikel->Preise->cPreis4Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 4 Artikel->Preise->cPreis5Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 5 Artikel->fMwSt Zahl Mehrwertsteuer Artikel->cSuchbegriffe String Begriffe, die von der Suchfunktion auch berücksichtigt werden sollen Artikel->cVPEEinheit String Grundpreis Einheit Artikel->fVPEWert Kommazahl Der Wert, mit dessen Hilfe der Grundpreis errecht wird. Grundpreis = fVK[1] / fVPEWert JTL-SOFTWARE GMBH 80 JTL-SHOP 2 Artikel->cLocalizedVPE[0] String Grundpreis mit Währung (Brutto) Artikel->cLocalizedVPE[1] String Grundpreis mit Währung (Netto) Artikel->dErscheinungsdatum_de Datum Erscheinungsdatum Artikel->dErstellt_de Datum Erstellungsdatum Artikel->Kategoriepfad String Hierarchischer Kategoriepfad. (Z.B. Computer & Zubehör > CPUs > Intel) Artikel->Versandkosten Zahl Versandkosten des Artikels in das beim Preisformat angegebene Lieferland Artikel->cDeeplink String URL direkt zum Artikel im Shop. Artikel->Artikelbild String URL direkt zum Artikelbild. Artikel->Lieferbar Bool Ob Artikel lieferbar (Y/N) Artikel->Lieferbar_01 Bool Ob Artikel lieferbar (0/1) Artikel->Verfuegbarkeit_kelkoo Schlüssel Spezialzahl für die Verfügbarkeit für Kelkoo Artikel->Kategorie Objekt Kategorie, in der sich der Artikel befindet Artikel->Kategorie->cName String Name der Kategorie Artikel->Kategorie->cSeo String SEO Name der Kategorie JTL-SOFTWARE GMBH 81 JTL-SHOP 2 Artikel->Kategorie->cBeschreibung String Beschreibung der Kategorie Artikel->Kategorie->cURL String URL Suffix für Kategorie. Benutzen Sie {$URL_SHOP}/{$Artikel->Kategorie->cURL}, um direkten Link zur Kategorie im Shop zu generieren URL_SHOP String URL zum Shop. Z.B. http://www.meinshop.de Waehrung Objekt Repräsentiert die im Exportformat gewählte Währung Waehrung->cISO String ISO Code der Währung Waehrung->cName String Name der Währung Waehrung->cNameHTML String Repräsentant der Währung in HTML Waehrung->fFaktor Zahl Multiplikator zur Standardwährung Waehrung->cStandard Bool Besagt, ob diese Währung im Shop die Standardwährung ist (Y/N) Waehrung->cVorBetrag Bool Besagt, ob das Währungszeichen vor oder nach dem Betrag angezeigt werden soll Waehrung->cTrennzeichenCent String Dezimaltrennzeichen Waehrung->cTrennzeichenTausend String Trennzeichen für Tausenderstellen JTL-SOFTWARE GMBH 82 JTL-SHOP 2 3.2.10.3 Exportdatei erstellen Wählen Sie in der Selectbox Exportdatei erstellen und betätigen den Button ausführen, so wird anhand der dazugehörigen Exportvorlage ein CSV-Datei erstellt, die Sie entweder selbst bei der jeweiligen Preissuchmaschine einstellen oder bei der jeweiligen Preissuchmaschine einstellen, unter welcher URL diese die CSV Datei selbständig abholen kann. Nicht alle Preissuchmaschinen holen automatisch in einem bestimmten Intervall die Datei selbständig ab. Die URL zur jeweiligen Datei ergibt sich so: <Shop-URL>/export/<Dateiname des Exportformats> 3.2.10.4 Exportdatei herunterladen Wählen Sie in der Selectbox Exportdatei herunterladen und betätigen den Button ausführen, so werden Sie zur ersten CSV Datei weitergeleitet, die entweder heruntergeladen werden kann oder sofern sie im Browser sichtbar ist, mittels Datei -> Speichern unter abgelegt werden kann. 3.2.11 Kundenimport aus anderen Shopsystemen (OSC, XTC, ZC, JTL Shop 1, etc.) JTL Shop 2 hat im Adminbereich einen Menüpunkt "Kundenimport". Hier können Kunden aus verschiedenen Shopsystemen in Form einer CSV-Datei importiert werden. Sollte Ihr Shopsystem nicht dabei sein, können Sie dennoch diese Funktion nutzen - allerdings müssen Sie wahrscheinlich etwas Hand anlegen. Folgende Shopsysteme sind bereits integriert: JTL Shop 1 JTL Shop 2 XTC OS Commerce Zen Cart JTL-SOFTWARE GMBH 83 JTL-SHOP 2 Der Importer prüft hierbei jeden Datensatz auf Korrektheit, d.h. Datensätze ohne gültige Emailadresse oder ohne Nachnamen werden nicht importiert! Dasselbe gilt für Datensätze, deren Emailadresse bereits im Shop von einem Kunden benutzt wird. Sie können beim Import demnach nichts falsch machen. Falls Sie Kunden aus anderer Software importieren möchten, so muss dieses CSV Format eingehalten werden: "cPasswort";"cAnrede";"cTitel";"cVorname";"cNachname";"cFirma";"cStrasse";"cAdressZusatz";"cPLZ";"cOrt";"cBundesland";"cLand";"cTel";"cMobil";"cFax";"cMail";"cUSTID ";"cWWW";"fGuthaben";"cNewsletter";"dGeburtstag";"fRabatt";"cHerkunft";"dErstellt";"cAktiv" Die Reihenfolge der Spalten ist nicht relevant, es müssen auch nicht alle Spalten vorhanden sein. Die Kopfzeile muss in der ersten Zeile vorhanden sein, denn daran wird die Spalte erkannt. Obligatorisch sind folgende Spalten: Email-Adresse Nachname 3.2.11.1 Kundendaten CSV-Datei erstellen Die benötigte CSV-Datei wird über ein beliebiges Datenbankverwaltungsprogramm generiert. Hier wird dies am Beispiel von PhpMyAdmin verdeutlicht. Loggen Sie sich in Ihrem PhpMyAdmin System ein und wählen Sie die Datenbank aus, die Ihr bisheriger Onlineshop nutzt. In jedem auf OS Commerce basierendem Shop (XTC, Zen Cart, Gambio, etc.) befinden sich die Kundendaten in der Datenbanktabelle customers und adress_book. Klicken Sie als nächstes auf die Schaltfläche SQL: JTL-SOFTWARE GMBH 84 JTL-SHOP 2 Dann klicken Sie in das weiße Textfeld und fügen Sie folgenden SQL-Code (abhängig von Ihrer Shopversion) dort ein: Bei XTC und XTC-Forks: SELECT DISTINCT customers.customers_password as cPasswort, customers.customers_gender as cAnrede, address_book.entry_firstname as cVorname, address_book.entry_lastname as cNachname, address_book.entry_company as cFirma, address_book.entry_street_address as cStrasse, address_book.entry_suburb as cAdressZusatz, address_book.entry_postcode as cPLZ, address_book.entry_city as cOrt, address_book.entry_state as cBundesland, countries.countries_iso_code_2 as cLand, customers.customers_telephone as cTel, customers.customers_fax as cFax, customers.customers_email_address as cMail, customers.customers_vat_id as cUSTID, customers.customers_dob as dGeburtstag, customers.customers_date_added as dErstellt JTL-SOFTWARE GMBH 85 JTL-SHOP 2 FROM address_book, customers, countries WHERE customers.customers_default_address_id = address_book.address_book_id AND countries.countries_id = address_book.entry_country_id Bei OS Commerce und OS Commerce Forks: SELECT DISTINCT customers.customers_password as cPasswort, customers.customers_gender as cAnrede, address_book.entry_firstname as cVorname, address_book.entry_lastname as cNachname, address_book.entry_company as cFirma, address_book.entry_street_address as cStrasse, address_book.entry_suburb as cAdressZusatz, address_book.entry_postcode as cPLZ, address_book.entry_city as cOrt, address_book.entry_state as cBundesland, countries.countries_iso_code_2 as cLand, customers.customers_telephone as cTel, customers.customers_fax as cFax, customers.customers_email_address as cMail, customers.customers_dob as dGeburtstag, now() as dErstellt FROM address_book, customers, countries WHERE customers.customers_default_address_id = address_book.address_book_id AND countries.countries_id = address_book.entry_country_id Bei JTL Shop 1 und JTL Shop 2: select * from tkunde Bei Virtuemart (Achtung: Virtuemart speichert die Länder im anderen ISO-Code. Bitte nach dem Export alle "DEU" in "DE" wandeln, alle "AUT" in "AT" etc.): SELECT DISTINCT JTL-SOFTWARE GMBH 86 JTL-SHOP 2 jos_users.password as cPasswort, jos_vm_order_user_info.title as cAnrede, jos_vm_order_user_info.first_name as cVorname, jos_vm_order_user_info.last_name as cNachname, jos_vm_order_user_info.company as cFirma, jos_vm_order_user_info.address_1 as cStrasse, jos_vm_order_user_info.zip as cPLZ, jos_vm_order_user_info.city as cOrt, jos_vm_order_user_info.state as cBundesland, jos_vm_order_user_info.country as cLand, jos_vm_order_user_info.phone_1 as cTel, jos_vm_order_user_info.fax as cFax, jos_users.email as cMail, now() as dErstellt FROM jos_users, jos_vm_order_user_info WHERE jos_users.id = jos_vm_order_user_info.user_id JTL-SOFTWARE GMBH 87 JTL-SHOP 2 Führen Sie den SQL-Code mit OK aus. Nun sollten Sie eine Liste mit Kundendaten sehen, darüber ein Infofeld mit der Anzahl: Darunter finden Sie einen Bereich mit Operationen auf dem Abfrageergebnis: Drücken Sie dort auf Exportieren und es erscheint folgender Dialog: JTL-SOFTWARE GMBH 88 JTL-SHOP 2 Klicken Sie hierzu links CSV-Datei an und setzen Sie den Haken bei Feldnamen in die erste Zeile setzen und bei senden. Die restlichen Einstellungen sollten so ausschauen wie auf dem Screenshot. Mit einem Klick auf OK wird die Exportdatei generiert, die Sie auf Ihrem lokalen Rechner abspeichern können. 3.2.11.2 Kundendaten CSV-Datei im JTL Shop 2 importieren ACHTUNG: Bitte unbedingt dafür sorgen, dass das Land des Kunden in ISO 3166 ist (2-stelliger Ländercode, siehe ISO-3166) Beachten Sie bitte, dass je nach Datenbankeinstellungen Ihres alten Shops, die Datei unterschiedlich kodiert sein kann. Schauen Sie sich die Datei gegebenfalls mit einem Texteditor bzw. Excel an und halten Sie Ausschau nach Umlauten. Falls Sie falsch dargestellt werden, sollten Sie die Datei konvertieren (UTF-8). Konvertieren können Sie Textdokumente z.B. mit diesem kostenfreien Editor: Crimson Editor JTL-SOFTWARE GMBH 89 JTL-SHOP 2 oder mittels des Datenimports in Excel. Erstellen Sie in Excel ein neues Dokument und wählen Sie unter Daten - Externe Daten importieren - Daten importieren Ihre Exportdatei aus der Shopdatenbank aus und bestätigen Sie mit Öffnen. Treffen Sie die richtigen Einstellungen und in Schritt 3 achten Sie bitte auf das richtige Datenformat der Spalten, damit Telefonnumern nicht "verstümmelt" werden. Begeben Sie sich hierzu in den Adminbereich vom Shop. Klicken Sie in der Linkleiste den Menüpunkt Kundenimport an. Wählen Sie dort die Sprache und Kundengruppe, die den Kunden in der CSV-Datei zugewiesen werden sollen. Mit einem Klick auf Importieren werden die Datensätze verarbeitet. Haben Sie unterschiedliche Kundengruppen in der CSV-Datei, so ist es ratsam, die CSV-Datei in Stücke zu zerteilen und mit der entsprechenden Kundengruppe zu importieren. Bitte vor dem Kundenimport die Emailvorlage "Accounterstellung durch Shopbetreiber" entsprechend anpassen. JTL-SOFTWARE GMBH 90 JTL-SHOP 2 4. Template-Dokumentation Diese Dokumentation beschäftigt sich mit der Templateerstellung und -anpassung für JTL-Shop 2. Inhaltsverzeichnis 1 Vorwort / Allgemeines o 1.1 Voraussetzungen / notwendige Kenntnisse o 1.2 Motivationsbeispiel 2 Aufbau des Shops / Templates 3 Aufbau der Dokumentation Vorwort / Allgemeines JTL-Shop 2 hat das Templatesystem Smarty implementiert. Durch den Einsatz eines solchen Systems kann der Programmcode des Shops von der Präsentation, also dem, was der Besucher des Shops im Endeffekt sieht (Frontend), getrennt werden. Davon profitieren sowohl der Programmierer des Shops als auch der Templatedesigner, die ihre Arbeit strukturierter und unabhängig voneinander verrichten können. Ein Template in Smarty besteht aus HTML-Seiten mit Smarty-Tags, die entweder Steuerbefehle (etwa Schleifen oder Bedingungen) oder Variablen repräsentieren. Voraussetzungen / notwendige Kenntnisse Diese Dokumentation richtet sich in erster Linie an Webdesigner, die ein Template für JTL-Shop 2 erstellen oder anpassen möchten. Als Voraussetzungen sollten folgende Kenntnisse vorhanden sein: JTL-SOFTWARE GMBH 91 JTL-SHOP 2 HTML CSS Smarty Kenntnisse im Umgang mit Smarty sind natürlich notwendig und nicht schwer anzueignen. Eine Dokumentation zu Smarty findet man unter: http://smarty.php.net Motivationsbeispiel Dies ist ein fiktives Beispiel. In JTL-Shop 2 wird dieses Beispiel nicht funktionieren - es soll lediglich den Umgang mit Smarty verdeutlichen. Nehmen wir an, wir klicken im Shop auf eine Artikelkategorie in der Navigation. Die Shopsoftware kümmert sich nun darum, welches Script aufgerufen wird, holt entsprechende Daten aus der Datenbank, beachtet dabei Plausibilitäten (z.B. darf die Kundengruppe FSK18 andere Artikel innerhalb dieser Kategorie sehen als ein Gast, dessen Identität noch unbekannt ist) generiert daraus Objekte und gibt diese Objekte an die Präsentationsschicht (Smarty) weiter. Die Präsentationsschicht bedient der Templatedesigner mit dem Template des Shops. Ein Shoptemplate besteht aus Templatedateien (in der Regel .tpl Dateiendung), die von der Shopsoftware über Smarty aufgerufen werden. Das Ergebnis, das Smarty mit den Templatedateien und den übergebenen Objekten liefert, wird an den Browser des Besuchers der Seite geschickt - also meist HTML. Nehmen wir nun ab, beim Klick auf eine Produktkategorie wird die Templatedatei "produktuebersicht.tpl" herangezogen, um den Inhalt dieser dann erscheinenden Seite zu gestalten. Zusätzlich stellt die Shopsoftware u.a. eine Variable namens "Artikelliste" bereit. Diese Variable ist ein Array von Objekten, die nun dem Template zur Verfügung stehen. Jedes Objekt des Arrays besitzt nun weitere Variablen, nehmen wir an, es seien: Name - der Artikelname Preis - der Artikelpreis Key - der interne Schlüssel des Artikels Der Inhalt des Arrays Artikelliste schaut so aus: JTL-SOFTWARE GMBH 92 JTL-SHOP 2 $Artikelliste[0]->Key = 1; $Artikelliste[0]->Name = "Taschenlampe"; $Artikelliste[0]->Preis = 4.95; $Artikelliste[1]->Key = 5; $Artikelliste[1]->Name = "Batterie"; $Artikelliste[1]->Preis = 2.50; Der Inhalt von produktuebersicht.tpl: {forach name="artikelschleife" from=$Artikelliste item=Artikel} Artikelname: {$Artikel->Name}, Artikelpreis: <b>{$Artikel->Preis}</b> - <a href="kaufen.php?key={$Artikel->Key}">kaufen</a><br> {/foreach} würde folgende Ausgabe an den Browser produzieren: Artikelname: Taschenlampe, Artikelpreis: <b>4.95</b> - <a href="kaufen.php?key=1">kaufen</a><br> Artikelname: Batterie, Artikelpreis: <b>2.50</b> - <a href="kaufen.php?key=5">kaufen</a><br> 4.1 Aufbau des Shops / Templates JTL-Shop 2 besteht aus verschiedenen "Seiten", die der Besucher ansurfen kann, wie z.B. die Startseite, Produktdetailseite eines Produkts, der Warenkorb, usw. Jede dieser Seiten stellt der Präsentationsschicht andere Daten zur Verfügung, die angezeigt werden können (sollen). Bei der Produktdetailseite wären es Angaben zum Produkt wie Preis, Artikelnummer, usw., beim Warenkorb sind es etwa die Warenkorbpositionen. Für jede dieser Seiten ist eine eigene Templateseite (.tpl) notwendig. Weiterhin verschickt der Shop Emails. Das Layout und Design der ausgehenden Emails wird ebenfalls mit der Templateengine Smarty (pro Sprache) bestimmt. Beispielsweise ist das Emailtemplate "ger/bestellbestaetigung.tpl" für Bestellbestätigungsemails, die bei erfolgreichem Abschluss einer Bestellung versendet werden, zuständig. JTL-SOFTWARE GMBH 93 JTL-SHOP 2 Aufbau der Dokumentation Die Dokumentation gliedert sich in zwei Teile, einmal das Shopfrontend (Shoplayout / Design) und einmal die Shopemails (Emails, die der Shop versendet). Dieser Abschnitt behandelt die Dokumentation der Shoptemplates - also Layout und Design des Shops. Hier finden Sie die Dokumenation der Emailtemplates. JTL-SOFTWARE GMBH 94 JTL-SHOP 2 4.2 Layout & Design des Shops Inhaltsverzeichnis 1 Verzeichnisstruktur 2 Aufbau des Templates o 2.1 Teiltemplates o 2.2 Config-/Sprachdateien 3 Globale Variablen o 3.1 Boxen 3.1.1 Besteller Box 3.1.2 Top Angebot Box 3.1.3 Neu im Sortiment Box 3.1.4 Sonderangebote Box 3.1.5 Zuletzt angesehen Box 3.1.6 Schnellkauf Box o 3.2 AktuelleSeite 4 Einstellungen o 4.1 Globale Einstellungen o 4.2 Artikelübersicht / Suche o 4.3 Artikeldetails o 4.4 Kunden / Formulare o 4.5 Warenkorb / Kaufabwicklung o 4.6 Boxen 5 Beschreibung der Shopseiten JTL-SOFTWARE GMBH 95 JTL-SHOP 2 Verzeichnisstruktur Wir empfehlen folgende Verzeichnisstruktur für das Template zu nutzen: <Ihr Template> o css o email o o o o eng ger <weitere sprachen> gfx lang php tpl_inc css - hier befinden sich CSS Dateien für das Template email - hier befinden sich Emailtemplatedateien, nach Sprache in dafür vorgesehene Verzeichnisse eingeordnet gfx - hier befinden sich Grafikdateien lang - hier befinden sich Sprachdateien des Templates. <Sprache-ISO-Code>.conf sind die jeweiligen Sprachdateien des Templates. php - hier befindet sich die Datei functions.php und ist für PHP-Funktionen vorgesehen. Siehe hierzu [[PHP Nutzen tpl_inc - hier befinden sich Include-Dateien, die in Templatedateien eingebunden werden können Im Rootverzeichnis des Templates (<Ihr Template>) müssen sich folgende Templatedateien befinden: <Ihr Template> o artikel.tpl o bestellabschluss.tpl o bestellvorgang.tpl o druckansicht_artikel.tpl o jtl.tpl o passwort_vergessen.tpl o produkte.tpl JTL-SOFTWARE GMBH 96 JTL-SHOP 2 o o o o registrieren.tpl seite.tpl suche.tpl warenkorb.tpl Wofür jede einzelne Templatedatei steht, welche Variablen ihr zur Verfügung stehen, etc. finden Sie weiter unten in diesem Kapitel. Achtung: Folgende Verzeichnisse müssen wie oben angegeben heissen und liegen: email lang php Das Template muss in das Verzeichnis templates des Shops (im Shoproot) kopiert werden: templates/template a templates/template b templates/<Ihr Template> Aufbau des Templates Teiltemplates Bei den meisten Shops ist es so, dass sich auf jeder Seite des Shops (Warenkorb, Impressum, Kategorieübersicht, Bestellvorgang) das "Gerüst" nicht verändert. D.h. der Kopfbereich, die Seiten mit Links, usw., Fußbereich bleiben immer gleich, es ändert sich lediglich der Teil, der für den Inhalt vorgesehen ist. In diesem Fall empfehlen wir, das Template in einzelne Templatedateien, die jeweils einen Bereich der Seite bauen, aufzusplitten. JTL-SOFTWARE GMBH 97 JTL-SHOP 2 Besteht der Shop aus einem immer gleichbleibendem Kopfbereich, Fußbereich, einer linken Spalte und einer rechten Spalte, so bietet sich folgende Struktur an: <Ihr Template> o tpl_inc header.tpl footer.tpl leftContainer.tpl rightContainer.tpl Eine Templatedatei kann nun an beliebiger Stelle die Teiltemplates einbinden, Beispiel der artikel.tpl: {include file='tpl_inc/header.tpl'} {include file='tpl_inc/leftContainer.tpl'} ##hier folgt der Inhalt der Artikeldetails## {include file='tpl_inc/rightContainer.tpl'} {include file='tpl_inc/footer.tpl'} Config-/Sprachdateien Smarty Configdateien werden vor allen als Sprachdateien für JTL-Shop 2 genutzt. Beispielinhalt einer solchen Sprachdatei ger.conf: [global] ... productNo = 'ArtikelNr.' back = 'zurück' addToCart = 'in den Warenkorb' ... [productDetails] ... productInStock = 'Artikel auf Lager' JTL-SOFTWARE GMBH 98 JTL-SHOP 2 productOutOfStock = 'Artikel zur Zeit vergriffen' printThisPage = 'Diese Seite drucken' ... Die Sprachdateien werden stets unter <Sprache-ISo-Code>.conf im Verzeichnis lang abgelegt. Beispiele: ger.conf, fra.conf, eng.conf,... In Templtedateien werden sie wie folgt eingebunden (Beispiel artikel.tpl von oben erweitert): {config_load file="$lang.conf" section="global"} {config_load file="$lang.conf" section="productDetails"} {include file='tpl_inc/header.tpl'} {include file='tpl_inc/leftContainer.tpl'} ##hier folgt der Inhalt der Artikeldetails## {include file='tpl_inc/rightContainer.tpl'} {include file='tpl_inc/footer.tpl'} Durch die Angabe der Section (section="global") wird dem Template nur der jeweilige Abschnitt der Sprachdatei zugewiesen. Der Dateiname file="$lang.conf" stellt sicher, dass die korrekte Sprachdatei geladen wird.. Die Variablen aus Config-/Sprachdateien werden wie folgt genutzt: {#VarName#} Globale Variablen Grundsätzlich stehen jeder Templatedatei alle Variablen zur Verfügung, die sich in der Session befinden. Diese werden über $smarty.session.Variablenname angesprochen: Variablenname Typ Beschreibung JTL-SOFTWARE GMBH 99 JTL-SHOP 2 ArtikelSortierung String Aktuell aktive Artikelsortierung in der Produktübersicht ArtikelProSeite Zahl Aktuell gesetzte Artikel pro Seite in der Produktübersicht Boxen ObjektArray Dieses Array enthält alle Boxen, die der Shopbetreiber in der Konfiguration anzeigen möchte. Nähere Informationen zu Boxen finden Sie im Anschluss dieses Abschnitts unter Gloable Variable: Boxen kSprache Schlüssel Schlüssel der aktuellen Sprache cISOSprache String ISO Code der aktuellen Sprache Waehrungen ObjektArray von Waehrung Nutzbar z.B. für die Währungsauswahl Sprachen ObjektArray Nutzbar z.B. für die Sprachauswahl Sprachen[i]->kSprache Schlüssel Sprachen[i]->cNameEnglisch String Name der Sprache auf Englisch Sprachen[i]->cNameDeutsch String Name der Sprache auf Deutsch Sprachen[i]->cStandard String Standardsprache (Y/N) Sprachen[i]->cISO String ISO - Code der Sprache JTL-SOFTWARE GMBH 100 JTL-SHOP 2 Waehrung Objekt Aktuell aktive Währung Waehrung->kWaehrung Schlüssel Waehrung->cName String Name der Währung Waehrung->cNameHTML String HTML Steuerzeichen Waehrung->fFaktor Zahl Währungsfaktor zur Standardwährung (Wechselkurs) Waehrung->cStandard Bool Standardwährung (Y/N) Waehrung->cVorBetrag Bool Währungszeichen vor dem Betrag (Y/N) Waehrung->cTrennzeichenCent Bool Dezimal-Trennzeichen Waehrung->cTrennzeichenTausend Bool 1000er Trennzeichen Kundengruppe Objekt Aktuelle Kundengruppe Kundengruppe->kKundengruppe Schlüssel Kundengruppe->cName String Name der aktuellen Kundengruppe in der aktuellen Sprache Kundengruppe->fRabatt Zahl Rabatt dieser Kundengruppe auf alle Artikel Kundengruppe->cStandard Bool Standardkundengruppe (Y/N) JTL-SOFTWARE GMBH 101 JTL-SHOP 2 Kundengruppe->cShopLogin Bool Login nötig, um einkaufen zu können Kundengruppe->nNettoPreise Bool Preise Netto anzeigen für diese Kundengruppe (0/1) Steuersatz Array Steuersatz[kSteuerklasse] gibt den Steuersatz für diese Steuerklasse für das Land des Shops bzw. Rechnungsland des Kunden falls gesetzt Steuerland String Steuerland ISO-Code Linkgruppen Objekt Gruppen von Links, die im Template platziert werden. Linkgruppen-><templatename der Linkgruppe> Objekt Linkgruppen-><templatename der Linkgruppe>->cName String Eindeutiger Name der Linkgruppe Linkgruppen-><templatename der Linkgruppe>->cLocalizedName SprachArray anzuzeigender Name der Linkgruppe. Bsp: cLocalizedName['ger'] Linkgruppen-><templatename der Linkgruppe>->Links Array Linkgruppen-><templatename der Linkgruppe>->Links[i]->cName String Eindeutiger Name des Links JTL-SOFTWARE GMBH 102 JTL-SHOP 2 Linkgruppen-><templatename der Linkgruppe>->Links[i]->nLinkart Zahl Schlüssel, der die Linkart definiert. 1=Link mit eigenem Inhalt. 2=Link mit fremdem Inhalt bzw. Link zu fremden URLs Linkgruppen-><templatename der Linkgruppe>->Links[i]->cURL String URL dieses Links Linkgruppen-><templatename der Linkgruppe>->Links[i]->nSort Zahl Sortiernummer Linkgruppen-><templatename der Linkgruppe>->Links[i]->cLocalizedName SprachArray Anzuzeigender Name des Links. Bsp: cLocalizedName['ger'] Linkgruppen-><templatename der Linkgruppe>->Links[i]->cLocalizedTitle SprachArray Anzuzeigender Titel des Links. Bsp: cLocalizedName['ger'] ZuletztBesuchterArtikel Schlüssel Artikelschlüssel des zuletzt besuchten Artikels Folgende weitere Variablen stehen jeder Templatedatei zur Verfügung: Variablenname Typ Beschreibung currentTemplateDir String Pfad zum Templateverzeichnis session_name String Name der Session session_id String Session ID JTL-SOFTWARE GMBH 103 JTL-SHOP 2 SID String session_name=session_id, gleichbedeutend mit SID Konstante von PHP lang String Aktueller Sprache-ISO-Code, z.B. ger NettoPreise Zahl WarenkorbArtikelanzahl Zahl 0 = Nettopreise anzeigen, 1 = Bruttopreise anzeigen Anzahl an Produkten im Warenkorb Warenkorbtext String "Ihr Warenkorb ist leer", oder "Es befinden sich X Artikel im Warenkorb" Navigation String Brotkrümelnavigation. Z.B. "Startseite -> Hardware -> CPU -> Athlon 3200Mhz" KategorielisteHTML String Kategorienavigation, die in das Template direkt eingebunden werden sollte. requestURL String URL zur aktuellen Seite. Wird zur dynamischen Sprachumschaltung verwendet. Einstellungen Array Dies wird bei der jeweiligen Seite behandelt Boxen Als Boxen werden Module bezeichnet, die Informationen oder Funktionen bieten und gewöhnlich in einer Box verpackt sind. Boxeninformationen stehen global jeder Seite im Shop zur Verfügung. Boxen werden über das ObjektArray $Boxen mit Ihrem Namen angesprochen. Folgende Boxen stehen JTL-Shop 2 zur Verfügung: JTL-SOFTWARE GMBH 104 JTL-SHOP 2 Besteller Box Die Besteller Box enthält eine festgelegte Anzahl an Artikeln des Shops, die bisher am meisten verkauft wurden. Die Anzahl der anzuzeigenden Artikel bestimmt der Shopbetreiber in den Shopeinstellungen. Name Bestseller implementiert seit 1.0 Folgende Variablen stehen in dieser Box zur Verfügung: Variablenname Typ Beschreibung anzeigen Bool ob diese Box angezeigt werden soll. (Y/N) Artikel Objekt (Artikelliste) dieses Objekt ist eine Artikelliste. Es enthält ein Array mit echten Artikel-Objekten Artikel->elemente ObjektArray Artikel->elemente[i]->artikel Objekt Dieses Array enthält Artikel Objekte Dieses Objekt repräsentiert einen Artikel. Beschreibung siehe Artikel unter artikel.tpl Top Angebot Box JTL-SOFTWARE GMBH 105 JTL-SHOP 2 Die Top Angebot Box enthält eine festgelegte Anzahl an Artikeln des Shops, die als Top Angebot vom Shopbetreiber markiert sind. Die Anzahl der anzuzeigenden Artikel bestimmt der Shopbetreiber in den Shopeinstellungen. Name TopAngebot implementiert seit 1.0 Folgende Variablen stehen in dieser Box zur Verfügung: Variablenname Typ Beschreibung anzeigen Bool ob diese Box angezeigt werden soll. (Y/N) Artikel Objekt (Artikelliste) dieses Objekt ist eine Artikelliste. Es enthält ein Array mit echten Artikel-Objekten Artikel->elemente ObjektArray Artikel->elemente[i]->artikel Objekt Dieses Array enthält Artikel Objekte Dieses Objekt repräsentiert einen Artikel. Beschreibung siehe Artikel unter artikel.tpl Neu im Sortiment Box Die Neu im Sortiment Box enthält eine festgelegte Anzahl an Artikeln des Shops, die neu im Sortiment sind. Die Anzahl der anzuzeigenden Artikel bestimmt der Shopbetreiber in den Shopeinstellungen. JTL-SOFTWARE GMBH 106 JTL-SHOP 2 Name NeuImSortiment implementiert seit 1.0 Folgende Variablen stehen in dieser Box zur Verfügung: Variablenname Typ Beschreibung anzeigen Bool ob diese Box angezeigt werden soll. (Y/N) Artikel Objekt (Artikelliste) dieses Objekt ist eine Artikelliste. Es enthält ein Array mit echten Artikel-Objekten Artikel->elemente ObjektArray Artikel->elemente[i]->artikel Objekt Dieses Array enthält Artikel Objekte Dieses Objekt repräsentiert einen Artikel. Beschreibung siehe Artikel unter artikel.tpl Sonderangebote Box Die Sonderangebote Box enthält eine festgelegte Anzahl an Artikeln des Shops, die einen reduzierten Sonderpreis haben. Die Anzahl der anzuzeigenden Artikel bestimmt der Shopbetreiber in den Shopeinstellungen. Name Sonderangebote implementiert seit 1.0 JTL-SOFTWARE GMBH 107 JTL-SHOP 2 Folgende Variablen stehen in dieser Box zur Verfügung: Variablenname Typ Beschreibung anzeigen Bool ob diese Box angezeigt werden soll. (Y/N) Artikel Objekt (Artikelliste) dieses Objekt ist eine Artikelliste. Es enthält ein Array mit echten Artikel-Objekten Artikel->elemente ObjektArray Artikel->elemente[i]->artikel Objekt Dieses Array enthält Artikel Objekte Dieses Objekt repräsentiert einen Artikel. Beschreibung siehe Artikel unter artikel.tpl Zuletzt angesehen Box Die Zuletzt angesehen Box enthält den Artikel, den der Besucher zuletzt angeschaut hat Name ZuletztAngesehen implementiert seit 1.0 Folgende Variablen stehen in dieser Box zur Verfügung: Variablenname Typ Beschreibung JTL-SOFTWARE GMBH 108 JTL-SHOP 2 anzeigen Bool ob diese Box angezeigt werden soll. (Y/N) Artikel Objekt Dieses Objekt repräsentiert einen Artikel. Beschreibung siehe Artikel unter artikel.tpl Schnellkauf Box Die Schnellkauf Box enthält ein Feld für Artikelnummer / EAN, in das der Kunde eine Artikelnummer bzw. EAN eintragen kann, um einen Artikel direkt in den Warenkorb zu legen, der die eingegebene Artikelnummer / EAN besitzt. Name Schnellkauf implementiert seit 1.0 Folgende Variablen stehen in dieser Box zur Verfügung: Variablenname Typ anzeigen Beschreibung Bool ob diese Box angezeigt werden soll. (Y/N) Diese Box implementiert ein Formular, folgende Formularfelder müssen enthalten sein: schnellkaufEAN: Textfeld für die Artikelnummer / EAN schnellkauf: muss 1 sein. Type hidden bietet sich an. {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. JTL-SOFTWARE GMBH 109 JTL-SHOP 2 Beispiel: <form name="schnellkauf" action="warenkorb.php" method="post" style="padding:0px;margin:0px;"> <input type="hidden" name="schnellkauf" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <p class="box_login">{#productNoEAN#}:</p> <input type="text" class="schnellkaufEAN" name="ean"><p class="spacer"> </p> <input type="submit" value="{#intoBasket#}"> </form> AktuelleSeite Ab Version 2.15 von JTL-Shop 2 steht diese Variable zur Verfügung. Sie gibt an, welche Seite momentan angezeigt wird und kann genutzt werden, um z.B. die aktive Seite in einem Menü zu betonen. {$AktuelleSeite} kann folgende Werte annehmen: STARTSEITE ARTIKEL o {$Artikel} enthält dabei den aktiven Artikel PRODUKTE o {$AktuelleKategorie} enthält dabei die aktuell gewählte Kategorie o {$KategorieInhalt} enthält den Inhalt der aktuell gewählten Kategorie SUCHE o {$Suchergebnisse} enthält die Suchergebnisse o {$Suchergebnisse->Suchausdruck} ist der Ausdruck, nach dem aktuell gesucht wurde SEITE o {$Link} enthält den Inhalt der Seite WARENKORB MEIN KONTO REGISTRIEREN PASSWORT VERGESSEN BESTELLVORGANG JTL-SOFTWARE GMBH 110 JTL-SHOP 2 JTL-SOFTWARE GMBH 111 JTL-SHOP 2 Einstellungen Jeder Seite stehen Einstellungen in Form eines Arrays zur Verfügung. Die Variable hierzu heisst Einstellungen. Einstellungen werden nach Bereichen unterschieden, einzelne Shopseiten implmentieren einen oder mehrere Bereiche der Einstellungen und stellen es dem Template zur Verfügung. Der Bereich "Boxen" z.B. enthätlt Einstellungen zu Boxen, die im Shop angezeigt werden können, etwa eine Box mit Top Angeboten , Bestellern usw. Die Einstellungen geben dem Template die Informationen, ob die jeweilige Box etwa angezeigt werden soll oder nicht. Einstellungen werden in folgende Bereiche aufgeteilt: Globale Einstellungen Artikelübersicht / Suche Artikeldetails Kunden / Formulare Warenkorb / Kaufabwicklung Boxen Welche Einstellungsbereiche welche Shopbereiche implementieren, steht bei der jeweiligen Beschreibung der Shopseiten. Folgende Einstellungen enthalten die einzelnen Einstellungsbereiche: Globale Einstellungen Artikelübersicht / Suche Artikeldetails Kunden / Formulare Warenkorb / Kaufabwicklung Boxen JTL-SOFTWARE GMBH 112 JTL-SHOP 2 5. Beschreibung der Shopseiten Der Shop besteht aus folgenden Templates: artikel.tpl bestellabschluss.tpl bestellvorgang.tpl druckansicht_artikel.tpl jtl.tpl passwort_vergessen.tpl produkte.tpl registrieren.tpl seite.tpl suche.tpl warenkorb.tpl artikel.tpl Diese Seite ist für Produktdatails eines ausgewählten Artikels zuständig. Hier kann der Artikel direkt in den Warenkorb gelegt werden und Kunden können Fragen zum Artikel stellen (sofern der Shopbetreiber diese Funktionalität erlaubt). Variablen Folgende Variablen stehen artikel.tpl zur Verfügung: JTL-SOFTWARE GMBH 113 JTL-SHOP 2 Variablenname Typ Beschreibung Artikel Objekt Dieses Objekt repräsentiert einen Artikel Artikel->kArtikel Schlüssel Artikel->fLagerbestand Zahl Artikel->fMindestbestellmenge Zahl Artikel->fGewicht Zahl Artikel->fUVP Zahl Unverbindliche Preisempfehlung Artikel->cName String Name des Artikels in der aktuellen Sprache Artikel->cBeschreibung String Beschreibung in der aktuellen Sprache Artikel->cAnmerkung String Anmerkung des Artikels Artikel->cArtNr String Artikelnummer Artikel->cEinheit String Einheit des Artikels Artikel->cBarcode String EAN / Barcode des Artikls Artikel->cKurzBeschreibung String Kurzbeschreibung in der aktuellen Sprache JTL-SOFTWARE GMBH 114 JTL-SHOP 2 Artikel->cHersteller String Hersteller in der aktuellen Sprache Artikel->cHerstellerHomepage String URL zur Herstellerhomepage Artikel->cMwstVersandText String Zeichenkette "inkl. / exkl. X% USt., zzgl. Versand" Artikel->cMwstText String Zeichenkette "inkl. / exkl. X% USt." Artikel->cLieferstatus String Lieferstatus in der aktuellen Sprache Artikel->cVorschaubild Pfad Pfad zum Vorschaubild des Artikels Artikel->cTopArtikel Bool Top-Artikel (Y/N) Artikel->cNeu Bool Neu im Sortiment (Y/N) Artikel->Bilder Objektarray Bilder zu diesem Artikel Artikel->Bilder[i]->nNr Zahl Bildnummer Artikel->Bilder[i]->cPfadKlein Pfad Pfad zum Vorschaubild Artikel->Bilder[i]->cPfadNormal Pfad Pfad zum Normalbild Artikel->Bilder[i]->cPfadGross Pfad Pfad zum großen Bild Artikel->FunktionsAttribute Array siehe ####LINK#### JTL-SOFTWARE GMBH 115 JTL-SHOP 2 Artikel->Attribute Array Artikel->Variationen ObjektArray siehe Variationen Artikel->Variationen[i]->kEigenschaft Schlüssel Artikel->Variationen[i]->cName String Name der Variation Artikel->Variationen[i]->cTyp String Auswahltyp der Variation (SELECTBOX, RADIO, FREIFELD) Artikel->Variationen[i]->nSort Zahl Sortiernummer Artikel->Variationen[i]->Werte ObjektArray Artikel->Variationen[i]->Werte[o]>kEigenschaftWert Schlüssel Artikel->Variationen[i]->Werte[o]>cName String Name des Variationswertes Artikel->Variationen[i]->Werte[o]>fAufpreisNetto Zahl Aufpreis / Rabatt dieses Variationswertes Netto Artikel->Variationen[i]->Werte[o]>fGewichtDiff Zahl Gewichtsdifferenz zum Artikel dieses Variationswertes Artikel->Variationen[i]->Werte[o]->cArtNr String siehe Attribute Artikelnummer dieses Variationswertes JTL-SOFTWARE GMBH 116 JTL-SHOP 2 Artikel->Variationen[i]->Werte[o]->nSort Zahl Sortiernummer Artikel->Variationen[i]->Werte[o]>fLagerbestand Zahl Lagerbestand dieses Variationswertes Artikel->Variationen[i]->Werte[o]>fPackeinheit Zahl Packeinheit Artikel->Variationen[i]->Werte[o]>cAufpreisLocalized PreisArray Aufpreis / Rabatt Netto [1] / Brutto [0] mit Währungsangabe Artikel->Variationen[i]->Werte[o]>cPreisInklAufpreis PreisArray Artikelpreis inkl. Aufpreis / Rabatt Netto [1] / Brutto [0] mit Währungsangabe Artikel->Preise Objekt Preise dieses Artikels Artikel->Preise->cVKLocalized PreisArray EinzelVK Netto[1] / Brutto [0] mit Währungsangabe Artikel->Preise->nAnzahl1 Zahl Menge der Staffel 1 Artikel->Preise->nAnzahl2 Zahl Menge der Staffel 2 Artikel->Preise->nAnzahl3 Zahl Menge der Staffel 3 Artikel->Preise->nAnzahl4 Zahl Menge der Staffel 4 Artikel->Preise->nAnzahl5 Zahl Menge der Staffel 5 JTL-SOFTWARE GMBH 117 JTL-SHOP 2 Artikel->Preise->cPreis1Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 1 Artikel->Preise->cPreis2Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 2 Artikel->Preise->cPreis3Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 3 Artikel->Preise->cPreis4Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 4 Artikel->Preise->cPreis5Localized PreisArray VK Netto[1] / Brutto [0] mit Währungsangabe der Staffel 5 Artikel->SieSparenX Objekt Enthält die Differenz des Einzel-VK zum UVP als Betrag und Prozentsatz Artikel->SieSparenX->anzeigen Bool (Y/N) Artikel->SieSparenX->nProzent Zahl Prozentsatz, der angibt, wieviel Sie gegenüber dem UVP sparen Artikel->SieSparenX->fSparbetrag Zahl Betrag, der gegenüber dem UVP gespart wird in Standardwährung Artikel->SieSparenX>cLocalizedSparbetrag String Betrag, der gegenüber dem UVP gespart wird mit Währungsangabe Xselling Objekt Cross-Selling Artikel Objekt Xselling->Standard Objekt Dieses Objekt enthält X-Selling Gruppen mit Artikeln, die über die X-Selling Funktion dem aktuellen Artikel zugewiesen wurden. Siehe ###LINK### JTL-SOFTWARE GMBH 118 JTL-SHOP 2 Xselling->Standard->XSellGruppen ObjektArray Eine X-Selling Gruppe enthält Artikel, die in dieser Gruppe dem aktuellen Artikel zugeordnet wurden. Beispiel einer X-Selling Gruppe: "Zubehör" Xselling->Standard->XSellGruppen>Name String Name der X-Selling Gruppe lokalisiert. Xselling->Standard->XSellGruppen>Beschreibung String Beschreibung dieser Gruppe Xselling->Standard->XSellGruppen>Artikel ObjektArray Array von Artikel-Objekten. Beschreibung siehe Artikel unter artikel.tpl Xselling->Kauf Objekt Xselling->Kauf->Artikel ObjektArray Array von Artikel-Objekten. Beschreibung siehe Artikel unter artikel.tpl Dieses Objekt enthält Artikel, die unter "Kunden die X gekauft haben, haben auch Y gekauft" stehen sollen Einstellungen artikel.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Artikeldetails Anwendungsbeispiele Artikel anzeigen: Artikelnummer: {$Artikel->cArtNr}<br> JTL-SOFTWARE GMBH 119 JTL-SHOP 2 Artikelname: {$Artikel->cName}<br> Bild: <img src="{$Artikel->Bilder[0]->cPfadNormal}"><br> Preis: {$Artikel->Preise->cVKLocalized[$NettoPreise]} Variationsauswahl des Artikels anzeigen: {foreach name=Variationen from=$Artikel->Variationen item=Variation} <select name="eigenschaftwert[]"> {foreach name=Variationswerte from=$Variation->Werte item=Variationswert} <option value="{$Variationswert->kEigenschaftWert}">{$Variationswert->cName} {/foreach} </select> {/foreach} Standard X-Selling anzeigen: {if $Xselling->Standard} {foreach name=Xsell_gruppen from=$Xselling->Standard->XSellGruppen item=Gruppe} <div> {$Gruppe->Name} </div> <div > <table width="100%" cellpadding="5" cellspacing="0"> {foreach name=Xsell_artikel from=$Gruppe->Artikel item=Artikel} {if $smarty.foreach.Xsell_artikel.index%3==0} {if $smarty.foreach.Xsell_artikel.index>0}</tr>{/if}<tr> {/if} <td align="center"> <a href="{$Artikel->cURL}"><img src="{$Artikel->cVorschaubild}"></a><br> <a href="{$Artikel->cURL}">{$Artikel->cName}</a> <br>{#only#} {$Artikel->Preise->cVKLocalized[$NettoPreise]} <br>{$Artikel->cMwstVersandText} </td> JTL-SOFTWARE GMBH 120 JTL-SHOP 2 {/foreach} </table> </div> {/foreach} {/if} "Kunden, die X gekauft haben, haben auch Y gekauft" - Artikel anzeigen: {if $Xselling->Kauf} <div> {#customerWhoBoughtXBoughtAlsoY#} </div> <div> <table width="100%" cellpadding="5" cellspacing="0"> {foreach name=Xsell_artikel from=$Xselling->Kauf->Artikel item=Artikel} {if $smarty.foreach.Xsell_artikel.index%3==0} {if $smarty.foreach.Xsell_artikel.index>0}</tr>{/if}<tr> {/if} <td align="center"> <a href="{$Artikel->cURL}"><img src="{$Artikel->cVorschaubild}"></a><br> <a href="{$Artikel->cURL}">{$Artikel->cName}</a> <br>{#only#} {$Artikel->Preise->cVKLocalized[$NettoPreise]} <br>{$Artikel->cMwstVersandText} </td> {/foreach} </table> </div> {/if} Formulare JTL-SOFTWARE GMBH 121 JTL-SHOP 2 Die Produktdetailseite enthält zwei Formulare, einmal den Kauf eines Artikel, einmal ein Formular zur Funktion "Frage zum Produkt", durch die Kunden Fragen direkt zum Produkt an den Shopbetreiber stellen können. Artikel kaufen Formular Action: index.php Folgende Formularfelder müssen enthalten sein: a: gefüllt mit Artikel-Schlüssel {$Artikel->kArtikel}. Type hidden bietet sich an. wke: muss 1 sein. Type hidden bietet sich an. show: muss 1 sein. Type hidden bietet sich an. {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. anzahl: Ein Textfeld für die Anzahl der Artikel, die in den Warenkorb gelegt werden sollen. Optimalerweise vorbelegt mit 1. eigenschaftwert[]: gefüllt mit Schlüsseln der Eigenschaftswerte {$Variationswert->kEigenschaftWert}. Diese Informationen sind notwendig, um die gewählten Variationen zu übergeben. Select-Feld bietet sich dafür an. Beispiel: <form name="inWarenkorb" method="post" action="index.php"> <input type="hidden" name="a" value="{$Artikel->kArtikel}"> <input type="hidden" name="wke" value="1"> <input type="hidden" name="show" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <!-- ANFANG VARIATIONSABFRAGEN {foreach name=Variationen from=$Artikel->Variationen item=Variation} <select name="eigenschaftwert[]"> {foreach name=Variationswerte from=$Variation->Werte item=Variationswert} <option value="{$Variationswert->kEigenschaftWert}">{$Variationswert->cName} {/foreach} </select> {/foreach} JTL-SOFTWARE GMBH 122 JTL-SHOP 2 --> <input type="text" class="anzahl" name="anzahl" value="1"> <input type="submit" value="kaufen"> </form> Frage zum Produkt Formular Action: index.php Folgende Formularfelder müssen enthalten sein: a: gefüllt mit Artikel-Schlüssel {$Artikel->kArtikel}. Type hidden bietet sich an. fragezumprodukt: muss 1 sein. Type hidden bietet sich an. show: muss 1 sein. Type hidden bietet sich an. {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. email: Emailadresse des anfragenden Kunden. Textfeld frage: Eine Textarea für die Frage des Kunden. Nach dem Versand dieses Formular erscheint dieselbe Seite wie zuvor, nun jedoch steht eine neue Variable $frageZumProduktHinweis zur Verfügung. Sie enthält einen Hinweis, ob die Frage zum Produkt erfolgreich übermittelt wurde oder ob das Formular unzureichend ausgefüllt wurde bzw. die angegebene Emailadresse nicht gültig war. Beispiel: {if $Einstellungen.artikeldetails.artikeldetails_fragezumprodukt_anzeigen=="Y"} <form name="fragezumprodukt" action="index.php" method="post"> <input type="hidden" name="a" value="{$Artikel->kArtikel}"> <input type="hidden" name="show" value="1"> <input type="hidden" name="fragezumprodukt" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <p class="warning">{$frageZumProduktHinweis}</p> <table width="95%" cellpadding="0" cellpadding="0"> JTL-SOFTWARE GMBH 123 JTL-SHOP 2 <tr> <td><p class="login">{#emailadress#}:</p></td> <td><input type="text" name="email"></td> </tr> <tr> <td valign="top"><p class="login">{#question#}:</p></td> <td><textarea name="frage"></textarea></td> </tr> </table> <input type="submit" value="{#sendQuestion#}"> </form> </div> {/if} bestellabschluss.tpl Inhaltsverzeichnis 1 bestellabschluss.tpl o 1.1 Variablen o 1.2 Einstellungen o 1.3 Zahlungsarten 1.3.1 Vorkasse Überweisung 1.3.2 Rechnung 1.3.3 Lastschrift 1.3.4 Kreditkarte 1.3.5 Barzahlung 1.3.6 Nachnahme 1.3.7 PayPal 1.3.8 Moneybookers JTL-SOFTWARE GMBH 124 JTL-SHOP 2 Diese Seite erscheint am Ende einer Bestellung. Die Bestellung wurde in die Datenbank aufgenommen, dem Kunden und Shopbetreiber wurde eine Bestellbestätigungsemail verschickt. Diese Seite zeigt die Bestellnummer und evtl. die weitere Vorgehensweise in der Bezahlung der Bestellung. Hat der Kunde etwa die Zahlungsart Vorauskasse / Überweisung gewählt, so können ihm hier die notwendigen Daten angezeigt werden, die für eine Überweisung notwendig sind wie KontoNr, BLZ, Verwendungszweck, Gesamtsumme der Bestellung, IBAN/BIC (für Auslandsüberweisungen). Bei PayPal und anderen Zahlungsanbietern kann hier ein Button angezeigt werden, der den Kunden direkt zur mit den Bestelldaten ausgefüllten Bezahlseite des jeweiligen Zahlungsanbieters führt. Die meisten Daten, die auf dieser Seite angezeigt werden, werden aus der Session angezeigt (Smarty kann auf alle Daten der Session zugreifen). Darin enthalten sind alle relevanten Daten, die während des Bestellvorgangs eingegeben worden sind, das wären u.a.: Warenkorb inkl. Bestellpositionen und gewählten Variationen Rechnungsdaten des Kunden evtl. abweichende Lieferadresse evtl. eingelöste Coupons evtl. genutztes Guthaben (Gutschein) zur Verrechnung mit der Bestellung Versandart evtl. Versandzuschläge (z.B. Inselzuschlag) Zahlungsart evtl. Zahlungsartaufpreis / Rabatt (z.B. Nachnahmegebühr bzw ein Vorauskasse-Rabatt) Besonders relevant sind hierbei Informationen zur Zahlungsart. Die Bestellabschlussseite sollte sich an die gewählte Zahlungsart anpassen und die weitere Vorgehensweise bei dieser Zahlungsart anzeigen. Dies wird am einfachsten wie folgt geregelt: {if $smarty.session.Zahlungsart->cModulId=="modulid1"} a {elseif $smarty.session.Zahlungsart->cModulId=="modulid2"} b {elseif $smarty.session.Zahlungsart->cModulId=="modulid3"} JTL-SOFTWARE GMBH 125 JTL-SHOP 2 c usw. {/if} Somit kann jede Zahlungsart individuell behandelt werden. Eine Übersicht der Zahlungsarten finden Sie unten auf dieser Seite unter Zahlungsarten. Variablen Folgende Variablen stehen dieser Seite zur Verfügung: Variablenname Typ Beschreibung WarensummeLocalized PreisArray Zu zahlender Betrag Netto[1] / Brutto [0] Firma Objekt Dieses Objekt enthält die Firmenangaben des Shopbetreibers Firma->cName String Name des Unternehmens Firma->cUnternehmer String Name des Unternehmers Firma->cStrasse String Strasse des Unternehmens Firma->cPLZ String Firma->cOrt String JTL-SOFTWARE GMBH 126 JTL-SHOP 2 Firma->cLand String Firma->cTel String Telefonnummer Firma->cFax String Faxnummer Firma->cEMail String Emailadresse Firma->cWWW String URL des Webauftritts / Shops des Unternehmens Firma->cKontoinhaber String Name des Kontoinhabers Firma->cBLZ String Bankleitzahl Firma->cKontoNr String Firma->cBank String Firma->cUSTID String Firma->cSteuerNr String Firma->cIBAN String IBAN für Auslandsüberweisungen Firma->cBIC String BIC für Auslandsüberweisungen Bankname Einstellungen JTL-SOFTWARE GMBH 127 JTL-SHOP 2 bestellabschluss.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Kunden / Formulare Warenkorb / Kaufabwicklung Zahlungsarten Standardmäßig stehen folgende Zahlungsarten zur Verfügung: Vorkasse Überweisung Rechnung Lastschrift Kreditkarte Barzahlung Nachnahme PayPal Moneybookers Vorkasse Überweisung ModulID: za_ueberweisung_jtl Auf der Bestellabschlussseite sollten dem Kunden Informationen zur Verfügung gestellt werden, wie die er zur Durchführung der Überweisung benötigt. Beispiel: JTL-SOFTWARE GMBH 128 JTL-SHOP 2 <strong>{#doFollowingBanktransfer#}</strong>: <table width="90%" cellpadding="0" cellspacing="0"> <tr><td>{#accountHolder#}:</td><td>{$Firma->cKontoinhaber}</td></tr> <tr><td>{#bank#}:</td><td>{$Firma->cBank}</td></tr> <tr><td>{#accountNo#}:</td><td>{$Firma->cKontoNr}</td></tr> <tr><td>{#blz#}:</td><td>{$Firma->cBLZ}</td></tr> <tr><td> </td><td></td></tr> <tr><td><strong>{#purpose#}</strong>:</td><td><strong>{$smarty.session.BestellNr}</strong></td></tr> <tr><td><strong>{#totalToPay#}</strong>:</td><td><strong>{$WarensummeLocalized[$NettoPreise]}</strong></td></tr> <tr><td> </td><td></td></tr> <tr><td colspan="2"><strong>{#forInternationalBanktransfers#}</strong></td></tr> <tr><td>{#bic#}:</td><td>{$Firma->cBIC}</td></tr> <tr><td>{#iban#}:</td><td>{$Firma->cIBAN}</td></tr> </table> Rechnung ModulID: za_rechnung_jtl Lastschrift ModulID: za_lastschrift_jtl Kreditkarte ModulID: za_kreditkarte_jtl JTL-SOFTWARE GMBH 129 JTL-SHOP 2 Barzahlung ModulID: za_barzahlung_jtl Nachnahme ModulID: za_nachnahme_jtl PayPal ModulID: za_paypal_jtl Auf der Bestellabschlussseite sollte dem Kunden ein Button zur Verfügung gestellt werden, über den er zu PayPal's Zahlungsseiten gelangt. Moneybookers ModulID: za_moneybookers_jtl Auf der Bestellabschlussseite sollte dem Kunden ein Button zur Verfügung gestellt werden, über den er zu Moneybookers Zahlungsseiten gelangt. JTL-SOFTWARE GMBH 130 JTL-SHOP 2 JTL-SOFTWARE GMBH 131 JTL-SHOP 2 bestellvorgang.tpl Inhaltsverzeichnis 1 bestellvorgang.tpl o 1.1 Variablen o 1.2 Einstellungen o 1.3 Steps 1.3.1 accountwahl 1.3.2 unregistriert bestellen 1.3.2.1 Variablen 1.3.2.2 fehlende Angaben Array 1.3.2.3 Formulare 1.3.3 Lieferadresse 1.3.3.1 Variablen 1.3.3.2 fehlende Angaben Array 1.3.3.3 Formulare 1.3.4 Versand 1.3.4.1 Variablen 1.3.4.2 Formulare 1.3.5 Zahlung 1.3.5.1 Variablen 1.3.5.2 Formulare 1.3.6 ZahlungZusatzschritt 1.3.6.1 Variablen 1.3.6.2 fehlende Angaben Array 1.3.6.3 Formulare 1.3.7 Bestaetigung 1.3.7.1 Variablen 1.3.7.2 Formulare JTL-SOFTWARE GMBH 132 JTL-SHOP 2 Diese Seite ist für die Anzeige des Bestellvorgangs zuständig. Dazu gehört: die Wahl der Bestellart (unregistriert, als Bestandkunde (mit Login), als Neukunde mit Accounterstellung) Kundendateneingabe (Rechnungsadresse) evtl. abweichende Lieferadresse, Kuponcodeeingabe und Guthabeneinlösung Versandartwahl Zahlungsartwahl mit evtl. Zusatzangaben (wie z.B. Kreditkartendaten) Kontrollseite, die die Daten des Bestellvorgangs zusammenfasst Der Bestellvorgang ist in mehrere Schritte (Steps) unterteilt, diese wären: accountwahl unregistriert bestellen Lieferadresse Versand Zahlung ZahlungZusatzschritt Bestätigung Im der Templatedatei wäre eine Schrittunterscheidung empfehlenswert, wie diese hier: {if $step=='accountwahl'} {include file='tpl_inc/bestellvorgang_accountwahl.tpl'} {elseif $step=='unregistriert bestellen'} {include file='tpl_inc/bestellvorgang_unregistriert_formular.tpl'} {elseif $step=='Lieferadresse'} {include file='tpl_inc/bestellvorgang_lieferadresse.tpl'} {elseif $step=='Versand'} {include file='tpl_inc/bestellvorgang_versand.tpl'} {elseif $step=='Zahlung'} {include file='tpl_inc/bestellvorgang_zahlung.tpl'} {elseif $step=='ZahlungZusatzschritt'} JTL-SOFTWARE GMBH 133 JTL-SHOP 2 {include file='tpl_inc/bestellvorgang_zahlung_zusatzschritt.tpl'} {elseif $step=='Bestaetigung'} {include file='tpl_inc/bestellvorgang_bestaetigung.tpl'} {/if} Bitte beachten Sie, dass ein Step immer aktiv ist! Der Bestellvorgang selbst lässt sich für Kunden in 5 einfache Schritte unterteilen, die ihm auch angezeigt werden können, diese sind: Rechnungsadresse Lieferadresse Versandart Zahlungsart Zusammenfassung In welchem dieser Schritte Sie sich aktuell befinden, gibt das Array $bestellschritt preis. Variablen Folgende Variablen stehen allen Steps zur Verfügung: Variablenname Typ Beschreibung WarensummeLocalized PreisArray Zu zahlender Betrag Netto[1] / Brutto [0] mit Währungsangabe Warensumme Zahl Warensumme Netto Steuerpositionen ObjektArray Beschreibung siehe warenkorb.tpl JTL-SOFTWARE GMBH 134 JTL-SHOP 2 bestellschritt Array Dieses Array hat 5 Elemente, bestellschritt[1] bis bestellschritt[5]. Jedes Element hat einen Wert 1, 2 oder 3. 1=aktiver Schritt, 2=abgeschlossender Schritt, 3=noch abzuschliessender Schritt. Bsp.: bestellschritt[3]==1 bedeutet, dass Sie sich aktuell im Schritt Versandart befinden. Dieses Array lässt sich dazu verwenden, um den aktuellen Schritt grafisch darzustellen, etwa durch <img src="{$currentTemplateDir}gfx/bestellschritte/bestellvorgang_step1_{$bestellschritt[1]}.png"> <img src="{$currentTemplateDir}gfx/bestellschritte/bestellvorgang_step2_{$bestellschritt[2]}.png"> <img src="{$currentTemplateDir}gfx/bestellschritte/bestellvorgang_step3_{$bestellschritt[3]}.png"> <img src="{$currentTemplateDir}gfx/bestellschritte/bestellvorgang_step4_{$bestellschritt[4]}.png"> <img src="{$currentTemplateDir}gfx/bestellschritte/bestellvorgang_step5_{$bestellschritt[5]}.png"> Weitere Variablen stehen jedem Schritt individuell zur Verfügung. Einstellungen bestellvorgang.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Warenkorb / Kaufabwicklung Kunden / Formulare Steps accountwahl In diesem Step wird dem Kunden eine Auswahl aus den folgenden Bestellarten angeboten: JTL-SOFTWARE GMBH 135 JTL-SHOP 2 Unregistriert bestellen (Bestellen ohne Kundenaccount) mit bestehendem Kundenaccount bestellen (login) neuen Kundenaccount eröffnen und mit diesem bestellen Unregistriert bestellen wird durch einen Link eingeleitet: <a href="bestellvorgang.php?unreg=1&{$SID}">{#orderUnregistered#}</a> Neuen Kundenaccount eröffnen wird durch diesen Link eingeleitet: <a href="registrieren.php?checkout=1&{$SID}">{#createNewAccount#}</a> Um den Bestellvorgang mit einem bestehenden Kundenaccount durchführen zu können, wird ein Formular benötigt, das nach der Emailadresse und Passwort fragt. Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. login: muss 1 sein. Hidden Type userLogin: Emailadressenfeld. Textfeld passLogin: Passwortfeld. Type: Password Beispiel: <form name="login" method="post" action="bestellvorgang.php" style="margin:0px;padding:0px;"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="login" value="1"> <p class="standard">{#loginForRegisteredCustomersDesc#}</p> <span class="standard">{#emailadress#}:</span> <input type="text" name="userLogin" class="login"><br> <span class="standard">{#password#}:</span> <input type="password" name="passLogin" class="login"> {if $loginhinweis=="falscheDaten"} JTL-SOFTWARE GMBH 136 JTL-SHOP 2 <p class="standard" style="color:#ff0000">{#invalidUserdata#}</p> {/if} <a href="pass.php?{$SID}" class="boxlink">{#forgotPassword#}</a><br> <input type="submit" value="Login"> </form> unregistriert bestellen Dieser Step zeigt dem Kunden das Formular an, in das er seine Kundendaten eingeben soll. Es bietet sich an das reine Kundenformular in eine eigene Templatedatei zu legen und hier einzubinden, da dieses Formular an meheren Stellen benötigt wird (z.B. Kundenkonto eröffnen). Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung herkunfte ObjektArray Dieses Array bietet Auswahlmöglichkeiten, aus denen Kunden wählen können, wie sie auf den Shop aufmerksam geworden sind herkunfte[i]>cHerkunft String Eine Auswahlmöglichkeit (z.B. Google, Preissuchmaschine, etc.) Kunde Objekt Dieses Objekt repräsentiert einen Kunden und enthält alle Kundendaten (=Rechnungsadresse) JTL-SOFTWARE GMBH 137 JTL-SHOP 2 Kunde->kKunde Schlüssel Schlüssel zum Kunden Kunde->fRabatt Zahl Rabatt des Kunden in % Kunde->fGuthaben Zahl Guthaben des Kunden. Das Guthaben kann im Bestellvorgang mit dem Bestellwert verrechnet werden Kunde->cAnrede String Anrede des Kunden (Frau, Herr) Kunde->cTitel String Titel des Kunden (Prof, Dr) Kunde->cVorname String Kunde->cNachname String Kunde->cFirma String Kunde->cStrasse String Kunde->cPLZ String Kunde->cOrt String Kunde->cLand String Kunde->cTel String Kunde->cFax String ISO-Code des Landes JTL-SOFTWARE GMBH 138 JTL-SHOP 2 Kunde->cMail String Emailadresse. Diese ist eindeutig unter allen Kunden und wird zum Login gebraucht Kunde->cUSTID String UstID Kunde>cBundesland String Bundesland (NRW, Bayern, California, Texas,..). Insbesondere wichtig für USA, Großbritannien, etc. Kunde>cAdressZusatz String Adresszusatz (z.B. Aufgang C) Kunde->cMobil String Mobilrufnummer Kunde>dGeburtstag String Kunde->cHerkunft String Kundenherkunft (So hat der Kunde diesen Shop gefunden) Kunde->cKundenNr String Kundennummer (erst vergeben, wenn in JTL-Wawi eingelesen) Kunde->cWWW String Homepage Kunde->dErstellt String Erstelldatum des Kunden Kunde->cAktiv Bool Kunde aktiv (Y/N) Kunde>angezeigtesLand String Land des Kunden, das zur Anzeige gedacht ist. (Kunde->cLand ist nämlich nur der ISO-Code des Landes) JTL-SOFTWARE GMBH 139 JTL-SHOP 2 laender ObjektArray Dieses Array enthält alle Länder, die für das Land Select Feld gedacht sind laender[i]->cISO String ISO-Code des Landes laender[i]->cName String Name des Landes Array Dieses assoziative Array enthält Informationen über nicht / falsch ausgefüllte Formularfelder. Z.B. $fehlendeAngaben.titel>0 sagt aus, dass der Titel nicht ausgefüllt wurde. Dieses Array gibt also die Möglichkeit an jedes nicht / falsch ausgefülltes Feld einen Warnhinweis anzuzeigen. Siehe hierzu die Aufzählung aller möglichen Fehler unter fehlende Angaben Array fehlendeAngaben fehlende Angaben Array $fehlendeAngaben.[INPUTFELDNAME]>0: INPUTFELDNAME falsch / nicht ausgefüllt $fehlendeAngaben.pass_ungleich>0: Die Passwordwiederholung ist nicht mit dem Passwort identisch $fehlendeAngaben.pass_zu_kurz>0: Passwort zu kurz $fehlendeAngaben.email_vorhanden>0: Diese Emailadresse ist bereits in der Datenbank vorhanden Beispiele: $fehlendeAngaben.vorname>0: Das Vorname-Formularfeld wurde nicht ausgefüllt $fehlendeAngaben.email>0: Emailadresse-Formularfeld wurde nicht ausgefüllt JTL-SOFTWARE GMBH 140 JTL-SHOP 2 Formulare Action: bestellvorgang.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet unreg_form: muss 1 sein. Hidden Type editRechnungsadresse: muss als value die Variable $editRechnungsadresse enthalten anrede: Selectfeld mit "Frau", "Herr". Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht titel: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht vorname: Textfeld nachname: Textfeld firma: Textfeld strasse: Textfeld adresszusatz: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht plz: Textfeld ort: Textfeld bundesland: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht land: Selectfeld über die Variable laender ustid: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht email: Textfeld tel: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht fax: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht mobil: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht www: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht geburtstag: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht kundenherkunft: Selectfeld über die Variable herkunfte. Hier kann der Kunde wählen, wie er zu diesem Shop gekommen ist Beispiel: JTL-SOFTWARE GMBH 141 JTL-SHOP 2 {if $Einstellungen.kunden.kundenregistrierung_abfragen_anrede!="N"} {#salutation#}*: <select name="anrede" class="produktsuche" style="width:65px;"><option value="Frau" {if $Kunde->cAnrede=="Frau"}selected{/if}>{#mrs#}</option><option value="Herr" {if $Kunde->cAnrede=="Herr"}selected{/if}>{#mr#}</option></select><br> {/if} {if $Einstellungen.kunden.kundenregistrierung_abfragen_titel!="N"} {#title#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_titel=="Y"}*{/if}: <input type="text" name="titel" class="login" value="{$Kunde->cTitel}"> {if $fehlendeAngaben.titel>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {#firstName#}*: <input type="text" name="vorname" class="login" value="{$Kunde->cVorname}"> {if $fehlendeAngaben.vorname>0}<span class="warning">{#fillOut#}</span>{/if}<br> {#lastName#}*: <input type="text" name="nachname" class="login" value="{$Kunde->cNachname}"> {if $fehlendeAngaben.nachname>0}<span class="warning">{#fillOut#}</span>{/if}<br> {#firm#}: <input type="text" name="firma" class="login" value="{$Kunde->cFirma}"><br> {#street#}*: <input type="text" name="strasse" class="login" value="{$Kunde->cStrasse}"> {if $fehlendeAngaben.strasse>0}<span class="warning">{#fillOut#}</span>{/if}<br> {if $Einstellungen.kunden.kundenregistrierung_abfragen_adresszusatz!="N"} {#street2#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_adresszusatz=="Y"}*{/if}: <input type="text" name="adresszusatz" class="login" value="{$Kunde->cAdressZusatz}"> {if $fehlendeAngaben.adresszusatz>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {#plz#}*: <input type="text" name="plz" maxlength="20" class="login" style="width:50px;" value="{$Kunde->cPLZ}"> {if $fehlendeAngaben.plz>0}<span class="warning">{#fillOut#}</span>{/if}<br> {#city#}*: <input type="text" name="ort" class="login" value="{$Kunde->cOrt}"> {if $fehlendeAngaben.ort>0}<span class="warning">{#fillOut#}</span>{/if}<br> {if $Einstellungen.kunden.kundenregistrierung_abfragen_bundesland!="N"} {#state#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_bundesland=="Y"}*{/if}: <input type="text" name="bundesland" class="login" value="{$Kunde->cBundesland}"> {if $fehlendeAngaben.bundesland>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {#country#}*: JTL-SOFTWARE GMBH 142 JTL-SHOP 2 <select name="land"> {foreach name=land from=$laender item=land} <option value="{$land->cISO}" {if ($Einstellungen.kunden.kundenregistrierung_standardland==$land->cISO && !$Kunde->cLand) || $Kunde->cLand==$land>cISO}selected{/if}>{$land->cName}</option> {/foreach} </select><br> {if $Einstellungen.kunden.kundenregistrierung_abfragen_ustid!="N"} {#ustid#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_ustid=="Y"}*{/if}: <input type="text" name="ustid" class="login" value="{$Kunde->cUSTID}"> {if $fehlendeAngaben.ustid>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {#email#}*: <input type="text" name="email" class="login" value="{$Kunde->cMail}"> {if $fehlendeAngaben.email>0}<span class="warning">{#fillOut#}</span>{/if}<br> {if $Einstellungen.kunden.kundenregistrierung_abfragen_tel!="N"} {#tel#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_tel=="Y"}*{/if}: <input type="text" name="tel" class="login" value="{$Kunde->cTel}"> {if $fehlendeAngaben.tel>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {if $Einstellungen.kunden.kundenregistrierung_abfragen_mobil!="N"} {#mobile#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_mobil=="Y"}*{/if}: <input type="text" name="mobil" class="login" value="{$Kunde->cMobil}"> {if $fehlendeAngaben.mobil>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {if $Einstellungen.kunden.kundenregistrierung_abfragen_fax!="N"} {#fax#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_fax=="Y"}*{/if}: <input type="text" name="fax" class="login" value="{$Kunde->cFax}"> {if $fehlendeAngaben.fax>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {if $Einstellungen.kunden.kundenregistrierung_abfragen_www!="N"} {#www#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_www=="Y"}*{/if}: <input type="text" name="www" class="login" value="{$Kunde->cWWW}"> {if $fehlendeAngaben.www>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {if $Einstellungen.kunden.kundenregistrierung_abfragen_geburtstag!="N"} {#birthday#}{if $Einstellungen.kunden.kundenregistrierung_abfragen_geburtstag=="Y"}*{/if}: <input type="text" name="geburtstag" class="login" value="{$Kunde->dGeburtstag}"> {if $fehlendeAngaben.geburtstag>0}<span class="warning">{#fillOut#}</span>{/if}<br> {/if} {if $Einstellungen->ShopKundenherkunftAbfragen==1 && count($herkunfte)>0} {#referrer#} <select name="kundenherkunft"> JTL-SOFTWARE GMBH 143 JTL-SHOP 2 {foreach name=herkunfte from=$herkunfte item=herkunft} <option value="{$herkunft->cHerkunft}" {if $Kunde->cHerkunft==$herkunft->cHerkunft}selected{/if}>{$herkunft->cHerkunft}</option> {/foreach} </select> {/if} Lieferadresse In diesem Schritt wird der Kunde aufgefordert eine evtl. abweichende Lieferadresse anzugeben. Zusätzlich hat er die Möglichkeit, Rabattkupons einzulösen und sein Guthaben mit der Bestellung zu verrechnen. Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen laender ObjektArray Beschreibung siehe unregistriert bestellen GuthabenLocalized String Das vorhandene Guthaben des Kunden mit Währungsangabe KuponMoeglich Bool Kupon möglich oder nicht (0/1) kLieferadresse Schlüssel -1 = neue Lieferadresse, 0 = Lieferadresse = Rechnungsadresse, >0 = vorhandene Lieferadresse ausgewählt JTL-SOFTWARE GMBH 144 JTL-SHOP 2 Lieferadresse Objekt Lieferadresse->cAnrede String Lieferadresse->cVorname String Lieferadresse->cNachname String Lieferadresse->cTitel String Lieferadresse->cFirma String Lieferadresse->cStrasse String Lieferadresse>cAdressZusatz String Lieferadresse->cPLZ String Lieferadresse->cOrt String Lieferadresse->cBundesland String Lieferadresse->cLand String Lieferadresse->cTel String Repräsentiert eine Lieferadresse. Dieses Objekt steht nur dann zur Verfügung, wenn kLieferadresse==1 JTL-SOFTWARE GMBH 145 JTL-SHOP 2 Lieferadresse->cMobil String Lieferadresse->cFax String Lieferadresse->cMail String fehlende Angaben Array $fehlendeAngaben.[INPUTFELDNAME]>0: INPUTFELDNAME falsch / nicht ausgefüllt Beispiele: $fehlendeAngaben.vorname>0: Das Vorname-Formularfeld wurde nicht ausgefüllt $fehlendeAngaben.email>0: Emailadresse-Formularfeld wurde nicht ausgefüllt Formulare Action: bestellvorgang.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet lieferdaten: muss 1 sein. Hidden Type kLieferadresse: Radiobutton. Value 0 = Lieferadresse gleich Rechnungsadresse. Value -1 = Neue Lieferadresse eintragen. Value>0 vorhandene Lieferadressauswahl anrede: Selectfeld mit "Frau", "Herr". Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht JTL-SOFTWARE GMBH 146 JTL-SHOP 2 titel: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht vorname: Textfeld nachname: Textfeld firma: Textfeld strasse: Textfeld adresszusatz: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht plz: Textfeld ort: Textfeld bundesland: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht land: Selectfeld über die Variable laender email: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht tel: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht fax: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht mobil: Textfeld. Nur notwendig, wenn der Shopbetreiber dies in den Einstellungen wünscht Kuponcode: Textfeld. Feld für einen Kuponcode. Nur abfragen, wenn Kupon möglich, d.h. $KuponMoeglich==1 guthabenVerrechnen: Checkbox. Nur abfragen, wenn $Kunde->fGuthaben>0 Beispiel: <form name="lieferadresse" method="post" action="bestellvorgang.php"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="lieferdaten" value="1"> <span class="kategorieschrift">{#shippingAdress#}:<br><br> <input type="radio" name="kLieferadresse" onclick="aendereStatus()" value="0" {if $kLieferadresse==0}checked{/if}><span class="standard"> {#shippingAdressEqualBillingAdress#}<br> {foreach name=lieferad from=$Lieferadressen item=adresse} {if $adresse->kLieferadresse>0} <input type="radio" name="kLieferadresse" onclick="aendereStatus()" value="{$adresse->kLieferadresse}" {if $kLieferadresse==$adresse>kLieferadresse}checked{/if}><span class="standard"> {if $adresse->cFirma}{$adresse->cFirma},{/if} {$adresse->cVorname} {$adresse->cNachname}, {$adresse>cStrasse}, {$adresse->cPLZ} {$adresse->cOrt}, {$adresse->angezeigtesLand}<br> {/if} {/foreach} JTL-SOFTWARE GMBH 147 JTL-SHOP 2 <input type="radio" name="kLieferadresse" onclick="aendereStatus()" value="-1" {if $kLieferadresse==-1}checked{/if}><span class="standard"> {#createNewShippingAdress#}<br><br> {if $Einstellungen.kunden.lieferadresse_abfragen_anrede!="N"} {#salutation#}*: <select name="anrede" class="produktsuche" style="width:65px;"><option value="Frau" {if $Lieferadresse>cAnrede=="Frau"}selected{/if}>{#mrs#}</option><option value="Herr" {if $Lieferadresse->cAnrede=="Herr"}selected{/if}>{#mr#}</option></select><br> {/if} {if $Einstellungen.kunden.lieferadresse_abfragen_titel!="N"} {#title#}{if $Einstellungen.kunden.lieferadresse_abfragen_titel=="Y"}*{/if}: <input type="text" name="titel" class="login" value="{$Lieferadresse->cTitel}"> {if $fehlendeAngaben.titel>0}{#fillOut#}{/if}<br> {/if} {#firstName#}*: <input type="text" name="vorname" class="login" value="{$Lieferadresse->cVorname}"> {if $fehlendeAngaben.vorname>0}{#fillOut#}{/if}<br> {#lastName#}*: <input type="text" name="nachname" class="login" value="{$Lieferadresse->cNachname}"> {if $fehlendeAngaben.nachname>0}{#fillOut#}{/if}<br> {#firm#}: <input type="text" name="firma" class="login" value="{$Lieferadresse->cFirma}"> {#street#}*: <input type="text" name="strasse" class="login" value="{$Lieferadresse->cStrasse}"> {if $fehlendeAngaben.strasse>0}{#fillOut#}{/if}<br> {if $Einstellungen.kunden.lieferadresse_abfragen_adresszusatz!="N"} {#street2#}{if $Einstellungen.kunden.lieferadresse_abfragen_adresszusatz=="Y"}*{/if}: <input type="text" name="adresszusatz" class="login" value="{$Lieferadresse->cAdressZusatz}"> {if $fehlendeAngaben.adresszusatz>0}{#fillOut#}{/if}<br> {/if} {#plz#}*: <input type="text" name="plz" maxlength="20" class="login" style="width:50px;" value="{$Lieferadresse->cPLZ}"> {if $fehlendeAngaben.plz>0}{#fillOut#}{/if}<br> {#city#}*: <input type="text" name="ort" class="login" value="{$Lieferadresse->cOrt}"> {if $fehlendeAngaben.ort>0}{#fillOut#}{/if}<br> {if $Einstellungen.kunden.lieferadresse_abfragen_bundesland!="N"} {#state#}{if $Einstellungen.kunden.lieferadresse_abfragen_bundesland=="Y"}*{/if}: <input type="text" name="bundesland" class="login" value="{$Lieferadresse->cBundesland}"> {if $fehlendeAngaben.bundesland>0}{#fillOut#}{/if}<br> {/if} {#country#}*: <select name="land"> {foreach name=land from=$laender item=land} JTL-SOFTWARE GMBH 148 JTL-SHOP 2 <option value="{$land->cISO}" {if ($Einstellungen.kunden.lieferadresse_abfragen_standardland==$land->cISO && !$Lieferadresse->cLand) || $Lieferadresse>cLand==$land->cISO}selected{/if}>{$land->cName}</option> {/foreach} </select><br> {if $Einstellungen.kunden.lieferadresse_abfragen_email!="N"} {#email#}{if $Einstellungen.kunden.lieferadresse_abfragen_email=="Y"}*{/if}: <input type="text" name="email" class="login" value="{$Lieferadresse->cMail}"> {if $fehlendeAngaben.email>0}{#fillOut#}{/if}<br> {/if} {if $Einstellungen.kunden.lieferadresse_abfragen_tel!="N"} {#tel#}{if $Einstellungen.kunden.lieferadresse_abfragen_tel=="Y"}*{/if}: <input type="text" name="tel" class="login" value="{$Lieferadresse->cTel}"> {if $fehlendeAngaben.tel>0}{#fillOut#}{/if}<br> {/if} {if $Einstellungen.kunden.lieferadresse_abfragen_mobil!="N"} {#mobile#}{if $Einstellungen.kunden.lieferadresse_abfragen_mobil=="Y"}*{/if}: <input type="text" name="mobil" class="login" value="{$Lieferadresse->cMobil}"> {if $fehlendeAngaben.mobil>0}{#fillOut#}{/if}<br> {/if} {if $Einstellungen.kunden.lieferadresse_abfragen_fax!="N"} {#fax#}{if $Einstellungen.kunden.lieferadresse_abfragen_fax=="Y"}*{/if}: <input type="text" name="fax" class="login" value="{$Lieferadresse->cFax}"> {if $fehlendeAngaben.fax>0}{#fillOut#}{/if}<br> {/if} {if $KuponMoeglich==1} {#kupon#}:<br><br> {#kuponDesc#}<br><br> <b>{#kuponCode#}: <input type="text" name="Kuponcode" class="login" value="{$Kuponcode}"><br> {/if} {if $Kunde->fGuthaben>0} <br><br> {#credit#}:<br><br> {#creditDesc#}<br> {#yourCreditIs#}: {$GuthabenLocalized}<br><br> <b>{#useCredit#}: <input type="checkbox" name="guthabenVerrechnen" value="1" checked><br> {/if} </form> JTL-SOFTWARE GMBH 149 JTL-SHOP 2 Versand Dieser Schritt erlaubt dem Kunden eine Versandart auszuwählen. Das Shopsystem stellt nur die Versandarten der Präsentationsschichte zur Verfügung, die auch möglich sind. D.h. es wird das Lieferland etc. berücksichtigt. Wurde ein Versandkupon eingelöst, so wirkt sich dies auf die Preise der Versandarten aus. Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen Lieferadresse Objekt Objekt exisitiert immer. Beschreibung siehe Lieferadresse Versandarten ObjektArray Dieses Array enthält alle Versandarten, die dem Kunden präsentiert werden sollen. Versandarten[i]->cName String Name der Versandart. Lokalisiert Versandarten[i]->cLaender String Länder-ISO Codes, für die diese Versandart gilt Versandarten[i]->fPreis Zahl Preis dieser Versandart JTL-SOFTWARE GMBH 150 JTL-SHOP 2 Versandarten[i]->fVersandkostenfreiAbX Zahl Diese Versandart bietet kostenlosen Versand ab diesem Betrag an Versandarten[i]->fDeckelung Zahl Diese Versandart wird auf diesen Betrag gedeckelt Versandarten[i]->Zuschlag Objekt Bei dieser Versandart existiert ein Zuschlag Versandarten[i]->Zuschlag->cISO String Land ISO-Code, für den dieser Zuschlag existiert Versandarten[i]->Zuschlag->cName String Eindeutiger Name des Zuschlags Versandarten[i]->Zuschlag->fZuschlag Zahl Betrag des Zuschlags Versandarten[i]->Zuschlag->angezeigterName SprachArray anzuzeigender Name des Zuschlags. Z.B. angezeigterName['ger'] Versandarten[i]->cPreisLocalized String Betrag des Zuschlags mit Währungsangabe Versandarten[i]->fEndpreis Zahl Versandartpreis + evtl. Zuschlag Versandarten[i]->angezeigterName SprachArray anzuzeigender Name der Versandart. Z.B. angezeigterName['ger'] Versandarten[i]->cLieferdauer SprachArray durchschnittliche Lieferdauer dieser Versandart. Z.B. cLieferdauer['ger'] Versandarten[i]->cPreisLocalized String Endpreis dieser Versandart inkl. evtl. Zuschlags mit Währungsangabe JTL-SOFTWARE GMBH 151 JTL-SHOP 2 Formulare Das Formular in diesem Step ist für die Versandartwahl zuständig. Action: bestellvorgang.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet versandartwahl: muss 1 sein. Hidden Type Versandart: Radiobutton / Selectfeld. Hier werden die Versandarten aufgelistet und zur Auswahl gestellt Beispiel: <form name="versand" method="post" action="bestellvorgang.php"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="versandartwahl" value="1"> {foreach name=versand from=$Versandarten item=versandart} <input name="Versandart" value="{$versandart->kVersandart}" type="radio"> {$versandart->angezeigterName[$smarty.session.cISOSprache]} {if $versandart->Zuschlag->fZuschlag!=0} <br><span class="small">{$versandart->Zuschlag->angezeigterName[$smarty.session.cISOSprache]} (+{$versandart->Zuschlag>cPreisLocalized})</span> {/if} {if $versandart->cLieferdauer} <br><span class="small">{#shippingTime#}: {$versandart->cLieferdauer[$smarty.session.cISOSprache]}</span> {/if} <strong>{$versandart>cPreisLocalized}</strong><br> {/foreach} <input type="submit" value="Versandart wählen"> </form> JTL-SOFTWARE GMBH 152 JTL-SHOP 2 Zahlung Dieser step bietet dem Kunden die Auswahl der Zahlungsart. Es werden nur die Zahlungsarten der Präsentationsschicht übergeben, die auch angezeigt werden sollen und möglich sind. Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen Lieferadresse Objekt Objekt exisitiert immer. Beschreibung siehe Lieferadresse Zahlungsarten ObjektArray Dieses Array enthält Zahlungsarten, die zur Auswahl gestellt werden sollten Zahlungsarten[i]->fAufpreis Zahl Aufpreis dieser Zahlungsart Zahlungsarten[i]>cAufpreisTyp String 'festpreis' = Pauschaler Aufpreisbetrag. 'prozent' = der Aufpreis soll als prozentualer Aufpreis behandelt werden Zahlungsarten[i]->cName String Eindeutiger Name der Zahlungsart Zahlungsarten[i]->cModulId String ModulID. Wird zur Identifizierung der Zahlungsart genutzt. Siehe bestellabschluss.tpl JTL-SOFTWARE GMBH 153 JTL-SHOP 2 Falls vorhanden, soll ein zusätzlicher Schritt angezeigt werden mit der Abfrage zusätzlicher Informationen wie Kreditkarteninformationen / Lastschriftinformationen. Hier steht der Name der einzubindenden Templatedatei für den Zusatzschritt Zahlungsarten[i]>cZusatzschrittTemplate String Zahlungsarten[i]>angezeigterName SprachArray anzuzeigender Name der Zahlungsart. Z.B. angezeigterName['ger'] Zahlungsarten[i]>cGebuehrname SprachArray anzuzeigender Gebührname der Zahlungsart. Z.B. cGebuehrname['ger'] Zahlungsarten[i]>cPreisLocalized String Gebühr der Zahlungsart mit Währungsangabe Formulare Das Formular in diesem Step ist für die Versandartwahl zuständig. Action: bestellvorgang.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet zahlungsartwahl: muss 1 sein. Hidden Type Zahlungsart: Radiobutton / Selectfeld. Hier werden die Versandarten aufgelistet und zur Auswahl gestellt Beispiel: JTL-SOFTWARE GMBH 154 JTL-SHOP 2 <form name="zahlung" method="post" action="bestellvorgang.php"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="zahlungsartwahl" value="1"> {foreach name=zahlung from=$Zahlungsarten item=zahlungsart} <input name="Zahlungsart" value="{$zahlungsart->kZahlungsart}" type="radio"> {$zahlungsart->angezeigterName[$smarty.session.cISOSprache]} {if $zahlungsart->fAufpreis!=0} {$zahlungsart->cGebuehrname[$smarty.session.cISOSprache]} {/if} <strong>{$zahlungsart->cPreisLocalized}</strong><br> {/foreach} <input type="submit" value="Zahlungsart wählen"> </form> ZahlungZusatzschritt Dieser Schritt wird nur dann aktiv, wenn die gewählte Zahlungsart dies fordert (cZusatzschrittTemplate!=""). In diesem Schritt werden Zusatzinformationen zur Zahlungsart abgefragt. Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen JTL-SOFTWARE GMBH 155 JTL-SHOP 2 Lieferadresse Objekt Objekt exisitiert immer. Beschreibung siehe Lieferadresse Zahlungsart Objekt Beschreibung siehe bestellvorgang.tpl Zahlungsart ZahlungsInfo Objekt Zusatzinformationen zur Zahlungsart (Kreditkarte / Lastschrift) ZahlungsInfo->cKartenNr String Kreditkartennummer (Kreditkarte) ZahlungsInfo->cGueltigkeit String Gültigkeit der Kreditkarte (Kreditkarte) ZahlungsInfo->cCVV String CVV Nummer (Kreditkarte) ZahlungsInfo->cKartenTyp String (Kreditkarte) ZahlungsInfo->cBankName String (Lastschrift) ZahlungsInfo->cKontoNr String (Lastschrift) ZahlungsInfo->cBLZ String (Lastschrift) ZahlungsInfo->cIBAN String IBAN für Auslandskunden (Lastschrift) ZahlungsInfo->cBIC String BIC für Auslandskunden (Lastschrift) ZahlungsInfo->cInhaber String Inhaber der Karte / Inhaber fehlendeAngaben Array Dieses assoziative Array enthält Informationen über nicht / falsch ausgefüllte Formularfelder. JTL-SOFTWARE GMBH 156 JTL-SHOP 2 fehlende Angaben Array $fehlendeAngaben.[INPUTFELDNAME]>0: INPUTFELDNAME falsch / nicht ausgefüllt Beispiele: $fehlendeAngaben.kreditkartennr>0: Das Kreditkartennummer-Formularfeld wurde nicht ausgefüllt Formulare Das Formular in diesem Step ist für die Versandartwahl zuständig. Action: bestellvorgang.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet zahlungsartwahl: muss 1 sein. Hidden Type zahlungsartzusatzschritt: muss 1 sein. Hidden Type Zahlungsart: Benötigt als Value den Schlüssel der gewählten Zahlungsart ($Zahlungsart->kZahlungsart) Für Zahlungsart mit ModulID za_kreditkarte_jtl kommen folgende Felder hinzu: kreditkartennr: Textfeld gueltigkeit: Textfeld cvv: Textfeld kartentyp: Textfeld inhaber: Textfeld JTL-SOFTWARE GMBH 157 JTL-SHOP 2 Für Zahlungsart mit ModulID za_lastschrift_jtl kommen folgende Felder hinzu: bankname: Textfeld blz: Textfeld kontonr: Textfeld iban: Textfeld bic: Textfeld inhaber: Textfeld Beispiel 'za_kreditkarte_jtl' : <form name="zahlung" method="post" action="bestellvorgang.php"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="zahlungsartwahl" value="1"> <input type="hidden" name="zahlungsartzusatzschritt" value="1"> <input type="hidden" name="Zahlungsart" value="{$Zahlungsart->kZahlungsart}"> {#creditcardNo#}*: <input type="text" name="kreditkartennr" maxlength="32" class="login" value="{$ZahlungsInfo->cKartenNr}"> {if $fehlendeAngaben.kreditkartennr>0}<span class="standardred">{#fillOut#}</span>{/if} {#validity#}*: <input type="text" name="gueltigkeit" maxlength="12" class="login" style="width:90px" value="{$ZahlungsInfo->cGueltigkeit}"> {if $fehlendeAngaben.gueltigkeit>0}<span class="standardred">{#fillOut#}</span>{/if} {#cvv#}: <input type="text" name="cvv" maxlength="4" class="login" style="width:30px" value="{$ZahlungsInfo->cCVV}"> {if $fehlendeAngaben.cvv>0}<span class="standardred">{#fillOut#}</span>{/if} {#creditcardType#}: <input type="text" name="kartentyp" maxlength="45" class="login" value="{$ZahlungsInfo->cKartenTyp}"> {if $fehlendeAngaben.kartentyp>0}<span class="standardred">{#fillOut#}</span>{/if} {#owner#}*: <input type="text" name="inhaber" maxlength="80" class="login" value="{$ZahlungsInfo->cInhaber}"> {if $fehlendeAngaben.inhaber>0}<span class="standardred">{#fillOut#}</span>{/if} <input type="submit" value="abschicken"> </form> JTL-SOFTWARE GMBH 158 JTL-SHOP 2 Beispiel 'za_lastschrift_jtl' : <form name="zahlung" method="post" action="bestellvorgang.php"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="zahlungsartwahl" value="1"> <input type="hidden" name="zahlungsartzusatzschritt" value="1"> <input type="hidden" name="Zahlungsart" value="{$Zahlungsart->kZahlungsart}"> {#bankname#}*: <input type="text" name="bankname" maxlength="90" class="login" value="{$ZahlungsInfo->cBankName}"> {if $fehlendeAngaben.bankname>0}<span class="standardred">{#fillOut#}</span>{/if} {#blz#}*: <input type="text" name="blz" maxlength="12" class="login" style="width:100px" value="{$ZahlungsInfo->cBLZ}"> {if $fehlendeAngaben.blz==1}<span class="standardred">{#fillOut#}</span>{/if}{if $fehlendeAngaben.blz==2}<span class="standardred">{#conditionalFillOut#}</span>{/if} {#accountNo#}*: <input type="text" name="kontonr" maxlength="32" class="login" value="{$ZahlungsInfo->cKontoNr}"> {if $fehlendeAngaben.kontonr==1}<span class="standardred">{#fillOut#}</span>{/if}{if $fehlendeAngaben.kontonr==2}<span class="standardred">{#conditionalFillOut#}</span>{/if} {#iban#}*: <input type="text" name="iban" maxlength="32" class="login" value="{$ZahlungsInfo->cIBAN}"> {if $fehlendeAngaben.iban==1}<span class="standardred">{#fillOut#}</span>{/if}{if $fehlendeAngaben.iban==2}<span class="standardred">{#conditionalFillOut#}</span>{/if} {#bic#}*: <input type="text" name="bic" maxlength="32" class="login" value="{$ZahlungsInfo->cBIC}"> {if $fehlendeAngaben.bic==1}<span class="standardred">{#fillOut#}</span>{/if}{if $fehlendeAngaben.bic==2}<span class="standardred">{#conditionalFillOut#}</span>{/if} {#owner#}*: <input type="text" name="inhaber" maxlength="32" class="login" value="{$ZahlungsInfo->cInhaber}"> {if $fehlendeAngaben.inhaber>0}<span class="standardred">{#fillOut#}</span>{/if} </form> Bestaetigung Dieser step zeigt dem Kunden eine Zusammenfassung seiner Bestellung inkl. gewählter Versand- und Zahlungsart. In diesem Schritt muss der Kunde den AGB zustimmen und die Widerrufsbelehrung lesen können. JTL-SOFTWARE GMBH 159 JTL-SHOP 2 Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen Lieferadresse Objekt Objekt exisitiert immer. Beschreibung siehe Lieferadresse Die Zahlungsart, Versandart, Kupon und Guthabeninformationen sowie evtl. zusätzliche Angaben zur Zahlungsart befinden sich in der Session. Diese Daten sollten direkt aus der Session angezeigt werden. Variablenname Typ Beschreibung smarty.session.Zahlungsart Objekt Beschreibung siehe bestellvorgang.tpl Zahlungsart smarty.session.ZahlungsInfo Objekt Beschreibung siehe bestellvorgang.tpl ZahlungsInfo smarty.session.Versandart Objekt Beschreibung siehe bestellvorgang.tpl ZahlungsInfo Formulare Das Formular in diesem Step ist für den Abschluss der Bestellung zuständig. Action: bestellabschluss.php JTL-SOFTWARE GMBH 160 JTL-SHOP 2 Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet abschluss: muss 1 sein. Hidden Type agb: Checkbox für akzeptierte AGB kommentar: Kommentar zur Bestellung. Textarea bietet sich an Beispiel: <form method="post" name="agbform" action="bestellabschluss.php"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="abschluss" value="1"> {#orderComments#}: <textarea style="border-width:1px; border-style:solid;" name="kommentar" cols="50" rows="3"></textarea><br> {#confirmDataDesc#} <input type="checkbox" name="agb" value="1"> </form> JTL-SOFTWARE GMBH 161 JTL-SHOP 2 druckansicht_artikel.tpl Diese Seite ist für die Druckansicht eines Artikels zuständig. Variablen Folgende Variablen stehen artikel.tpl zur Verfügung: Variablenname Typ Beschreibung smarty.session.Warenkorb->PositionenArr[i]->Artikel Objekt (Artikel) Beschreibung siehe Artikel unter artikel.tpl Einstellungen druckansicht_artikel stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Artikeldetails JTL-SOFTWARE GMBH 162 JTL-SHOP 2 jtl.tpl Inhaltsverzeichnis 1 jtl.tpl o 1.1 Steps 1.1.1 login 1.1.1.1 Formulare 1.1.2 mein Konto 1.1.2.1 Variablen 1.1.3 rechnungsdaten 1.1.3.1 Variablen 1.1.3.2 fehlende Angaben Array 1.1.4 passwort aendern 1.1.4.1 Formulare 1.1.5 Bestellung 1.1.5.1 Variablen Diese Seite befasst sich mit dem Login, der Accountübersicht, Kundendatenänderung, Passwortänderung sowie Detailanzeige getätigter Bestellungen. Daher wird diese Seite in 5 steps unterteilt: login mein Konto rechnungsdaten passwort aendern bestellung Steps JTL-SOFTWARE GMBH 163 JTL-SHOP 2 login Ist man nicht eigeloggt, so wird stets diese Seite angezeigt. Formulare Dieses Formular ist für den Loginvorgang zuständig. Action: jtl.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. login: muss 1 sein. Hidden Type email: Emailadresse des Logins passwort: Passwort Beispiel: <form name="login" action="jtl.php" method="post"> <input type="hidden" name="login" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> {#emailadress#}: <input type="text" class="login_email" name="email"> {#password#}: <input type="password" class="login_email" name="passwort"> <p class="box_login"><a href="pass.php?{$SID}" class="boxlink">{#forgotPassword#}</a></p><br> <input type="submit" value="{#login#}"> </form> JTL-SOFTWARE GMBH 164 JTL-SHOP 2 mein Konto Ist man erfolgreich eingeloggt, so wird nicht der Login-Step angezeigt, sondern die Übersicht des Accounts. Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen Kunde->cGuthabenLocalized String Guthaben des Kunden mit Währungsangabe Lieferadressen ObjektArray Dieses Array enthält alle Lieferadressen, die der aktuell eingeloggte Kunde hat. Lieferadressen[i] Objekt Bestellungen ObjektArray Dieses Array enthält Bestelldaten aller Bestellungen des aktuell eingeloggten Kunden Bestellungen[i]->fGuthaben Zahl benutztes Guthaben, das mit der Bestellung verrechnet wurde Bestellungen[i]->fGesamtsumme Zahl Gesamtsumme dieser Bestellung Bestellungen[i]->cVersandartName String Name der gewählten Versandart Bestellungen[i]->cZahlungsartName String Name der gewählten Zahlungsart Objekt exisitiert immer. Beschreibung siehe Lieferadresse JTL-SOFTWARE GMBH 165 JTL-SHOP 2 Bestellungen[i]->cBestellNr String Bestellnummer Bestellungen[i]->cVersandInfo String Informationen zum Versand (wird vom Shopbetreiber gesetzt) Bestellungen[i]->dVersandDatum Datum Datum des Versandtages Bestellungen[i]->dBezahltDatum Datum Datum des Zahlungseingangs Bestellungen[i]->cTracking String TrackingID des Pakets Bestellungen[i]->cKommentar String Kommentar, den der Kunde beim Bestellabschluss abgegeben hat Bestellungen[i]->cLogistiker String Logistiker, der den Versand durchführt Bestellungen[i]->cTrackingURL String URL zu WWW-Seiten des Logistikers, der zum Paket dieser Bestellung führt Bestellungen[i]->Status String Status der Bestellung. (z.B. offen) Bestellungen[i]->dErstellt Datetime Datum + Uhrzeit der Erstellung der Bestellung Bestellungen[i]->dBestelldatum Datum Bestelldatum Bestellungen[i]->Waehrung Objekt In dieser Währung wurde die Bestellung durchgeführt. Beschreibung siehe Währung unter globalen Variablen Bestellungen[i]>cBestellwertLocalized String Bestellwert mit Währungsangabe JTL-SOFTWARE GMBH 166 JTL-SHOP 2 rechnungsdaten In diesen Step kann der eingeloggte Kunde seine Daten ändern. Zu diesem Step gelngt man nur, wenn man eingeloggt ist und diese URL aufruft: jtl.php?editRechnungsadresse=1 Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen laender ObjektArray Beschreibung siehe unregistriert bestellen fehlendeAngaben Array Dieses assoziative Array enthält Informationen über nicht / falsch ausgefüllte Formularfelder. fehlende Angaben Array $fehlendeAngaben.[INPUTFELDNAME]>0: INPUTFELDNAME falsch / nicht ausgefüllt $fehlendeAngaben.pass_ungleich>0: Die Passwordwiederholung ist nicht mit dem Passwort identisch $fehlendeAngaben.pass_zu_kurz>0: Passwort zu kurz JTL-SOFTWARE GMBH 167 JTL-SHOP 2 $fehlendeAngaben.email_vorhanden>0: Diese Emailadresse ist bereits in der Datenbank vorhanden Beispiele: $fehlendeAngaben.vorname>0: Das Vorname-Formularfeld wurde nicht ausgefüllt $fehlendeAngaben.email>0: Emailadresse-Formularfeld wurde nicht ausgefüllt Informationen zum Formular entnehmen Sie hier passwort aendern In diesem Step kann der aktuell eingeloggte Kunde sein Passwort ändern. Zu diesem Step gelngt man nur, wenn man eingeloggt ist und diese URL aufruft: jtl.php?pass=1 Formulare Dieses Formular ist für Passwortänderung zuständig. Die Variable $hinweis enthält einen Hinweis, der dem Kunden angezeigt werden sollte, falls das Formular nicht ordnungsgemäß ausgefüllt wurde (Passwordwiederholung falsch, Password zu kurz, altes Passwort falsch). Action: jtl.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. pass_aendern: muss 1 sein. Hidden Type JTL-SOFTWARE GMBH 168 JTL-SHOP 2 altesPasswort: das alte, bisherige Passwort neuesPasswort1: auf dieses Passwort soll das Passwort geändert werden neuesPasswort2: Wiederholung des neuen Passworts Beispiel: <form name="password" action="jtl.php" method="post"> <input type="hidden" name="pass_aendern" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> {#currentPassword#}: <td><input type="password" class="login_email" name="altesPasswort"> {#newPassword#}: <td><input type="password" class="login_email" name="neuesPasswort1"> {#newPasswordRpt#}: <td><input type="password" class="login_email" name="neuesPasswort2"> <p class="warning">{$hinweis} <input type="submit" value="{#changePassword#}"> <p class="box_login"><a href="jtl.php?{$SID}" class="boxlink">{#back#}</a><br> </form> Bestellung Dieser Step zeigt eine einzelne Bestellung detailiert an. Zu diesem Step gelngt man nur, wenn man eingeloggt ist und diese URL aufruft: jtl.php?bestellung={$Bestellung->kBestellung} Variablen Folgende Variablen stehen diesem step zur Verfügung: JTL-SOFTWARE GMBH 169 JTL-SHOP 2 Variablenname Typ Beschreibung Kunde Objekt Beschreibung siehe unregistriert bestellen Lieferadresse Objekt Objekt exisitiert immer. Beschreibung siehe Lieferadresse Bestellung Objekt Dieses Objekt beschreibt eine Bestellung. Beschreibung siehe Step mein Konto Variablen Bestellung->Positionen ObjektArray Dieses Array enthält Positionen der Bestellung. Beschreibung siehe smarty.session.Warenkorb>PositionenArr Bestellung>Steuerpositionen ObjektArray Dieses Array enthält Steuerpositionen der Bestellung. Beschreibung siehe Steuerpositionen Bestellungen[i]->Waehrung Objekt In dieser Währung wurde die Bestellung durchgeführt. Beschreibung siehe Währung unter globalen Variablen JTL-SOFTWARE GMBH 170 JTL-SHOP 2 passwort_vergessen.tpl Diese Seite erlaubt registrierten Kunden ihr Passwort neu anzufordern. Benötigt wird hierzu die Emailadresse sowie PLZ, mit der dich der Kunde angemeldet hat. Stimmen diese Angaben, wird ein neues Passwort generiert und dem Kunden zugeschickt. Formulare Das Formular nimmt Emailadresse und PLZ entgegen. Action: pass.php Folgende Formularfelder müssen enthalten sein: passwort_vergessen: muss 1 sein. Type hidden bietet sich an. {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. email: Emailadresse plz: PLZ Beispiel: <form name="login" action="pass.php" method="post"> <input type="hidden" name="passwort_vergessen" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> {#emailadress#}: <input type="text" class="login_email" name="email"><br> {#plz#}: <input type="text" class="login_email" name="plz"> <p class="warning">{$hinweis} <input type="submit" value="{#createNewPassword#}"> </form> JTL-SOFTWARE GMBH 171 JTL-SHOP 2 produkte.tpl Inhaltsverzeichnis 1 produkte.tpl o 1.1 Variablen o 1.2 Einstellungen o 1.3 Formulare 1.3.1 Artikel kaufen 1.3.2 Sortierung 1.3.3 Artikel pro Seite 1.3.4 Gehe zu Seite Diese Seite ist für die Anzeige der Produkte zuständig, die sich in einer Kategorie befinden. Hat eine Kategorie soviel Inhalt, dass mehrere Navigationsseiten notwendig sind, so sind die einzelnen Navigationsseiten so anzusprechen: Beispiel für 'nächste Seite': <a href="index.php?seite={$KategorieInhalt->Seitenzahlen->AktuelleSeite+1}&k={$AktuelleKategorie->kKategorie}&{$SID}">{#next#}</a> Variablen Folgende Variablen stehen artikel.tpl zur Verfügung: Variablenname Typ Beschreibung JTL-SOFTWARE GMBH 172 JTL-SHOP 2 AktuelleKategorie Objekt Das ist ein Kategorie Objekt. Beschreibung siehe KategorieInhalt->Unterkategorien>elemente[i]. AktuelleKategorie->KategorieAttribute Array Dieses Array enthält spezifische Attribute dieser Kategorie. KategorieInhalt Objekt In diesem Objekt befinden sich alle relevanten Informationen zur aktuellen Kategorie, wie enthaltene Produkte, enthaltene Unterkategorienund Seitenzahlen KategorieInhalt->Unterkategorien Objekt Hier sind alle Unterkategorien dieser Kategorie enthalten KategorieInhalt->Unterkategorien>elemente ObjektArray Dieses Array enthält Kategorien KategorieInhalt->Unterkategorien>elemente[i]->cName String Name der Kategorie KategorieInhalt->Unterkategorien>elemente[i]->cBeschreibung String Beschreibung der Kategorie KategorieInhalt->Unterkategorien>elemente[i]->cURL String URL zu dieser Kategorie. Mit dieser URL sollte diese Kategorie stets verlinkt sein KategorieInhalt->Unterkategorien>elemente[i]->cPfad String Pfad zum Bild KategorieInhalt->Seitenzahlen Objekt Enthält Informationen über die aktuelle Seitennavigation JTL-SOFTWARE GMBH 173 JTL-SHOP 2 KategorieInhalt->Seitenzahlen>AktuelleSeite Zahl KategorieInhalt->Seitenzahlen->MaxSeiten Zahl Diese Kategorie hat max. soviele Seiten KategorieInhalt->Seitenzahlen->minSeite Zahl Die kleinste Seitenzahl, die noch zum auswählen angezeigt werden sollte in der Seitennavigation KategorieInhalt->Seitenzahlen->maxSeite Zahl Die größte Seitenzahl, die noch zum auswählen angezeigt werden sollte in der Seitennavigation KategorieInhalt->GesamtanzahlArtikel Zahl Soviele Artikel enthält diese Kategorie KategorieInhalt-Artikel Objekt Hier sind alle Artikel der akteullen Seite drin, die angezeigt werden sollen. KategorieInhalt-Artikel->elemente ObjektArray Die Elemente entsprechen Artikelobjekten. Beschreibung siehe: Artikel unter artikel.tpl Einstellungen produkte.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Artikelübersicht / Suche JTL-SOFTWARE GMBH 174 JTL-SHOP 2 Formulare Die Produktübersichtseite hat 2 Formulare, nämlich einmal den Erwerb eines Artikels und einmal die Änderung der Sortierung / Artikel pro Seite. Artikel kaufen Jeder Artikel erhält ein eigenes Formular. Action: index.php Folgende Formularfelder müssen enthalten sein: a: gefüllt mit Artikel-Schlüssel {$Artikel->kArtikel}. Type hidden bietet sich an. k: gefüllt mit Kategorie-Schlüssel {$AktuelleKategorie->kKategorie}. Type hidden wke: muss 1 sein. Type hidden bietet sich an. show: muss 2 sein. Type hidden bietet sich an. {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. anzahl: Ein Textfeld für die Anzahl der Artikel, die in den Warenkorb gelegt werden sollen. Optimalerweise vorbelegt mit 1. Beispiel: <form name="a{$Artikel->kArtikel}" action="index.php" method="post"> <input type="hidden" name="a" value="{$Artikel->kArtikel}"> <input type="hidden" name="k" value="{$AktuelleKategorie->kKategorie}"> <input type="hidden" name="wke" value="1"> <input type="hidden" name="show" value="2"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="text" name="anzahl" value="1" class="anzahl"> JTL-SOFTWARE GMBH 175 JTL-SHOP 2 <input type="submit" value="kaufen"> </form> Sortierung Die Sortierung ist meist ein Selectfeld mit Sortiermöglichkeiten. Die Veränderung der Sortierung sollte das Formular abschicken. Die gewählte Sortierung wird für die Dauer der Sitzung gelten. Action: index.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. k: gefüllt mit Kategorie-Schlüssel {$AktuelleKategorie->kKategorie}. Type hidden sort: Selectfeld mit Sortiermöglichkeiten Beispiel: <form name="sortierung" action="index.php" method="post" style="padding:0px;margin:0px;"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="k" value="{$AktuelleKategorie->kKategorie}"> <select name="sort" class="sortierung" onChange="javascript:document.sortierung.submit();"> <option value="Artikelname">{#sorting#}</option> <option value="Artikelname">{#name#}</option> <option value="Preis">{#price#}</option> <option value="Lagerbestand">{#availability#}</option> </select> </form> JTL-SOFTWARE GMBH 176 JTL-SHOP 2 Artikel pro Seite Diese Einstellung bestimmt, wieviele Artikel pro Seite angezeigt werden sollen. Die Veränderung der Artikelanzahl pro Seite sollte das Formular abschicken. Die gewählte Artikelanzahl wird für die Dauer der Sitzung gelten. Action: index.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. k: gefüllt mit Kategorie-Schlüssel {$AktuelleKategorie->kKategorie}. Type hidden zahl: Selectfeld mit Auswahlmöglichkeiten von Artikelanzahl pro Seite Beispiel: <form name="artikelanzahl" action="index.php" method="post" style="padding:0px;margin:0px;"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="hidden" name="k" value="{$AktuelleKategorie->kKategorie}"> <select name="zahl" class="artikelproseite" onChange="javascript:document.artikelanzahl.submit();"> <option value="10">{#productsPerPage#}</option> <option value="10">10 {#productsPerPage#}</option> <option value="20">20 {#productsPerPage#}</option> <option value="50">50 {#productsPerPage#}</option> <option value="100">100 {#productsPerPage#}</option> </select> </form> Gehe zu Seite Dieses Formular bietet ein Eingabefeld, in das der Benutzer eine Seitenanzahl direkt eingeben kann, zu der er gelangen möchte. JTL-SOFTWARE GMBH 177 JTL-SHOP 2 Action: index.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. k: gefüllt mit Kategorie-Schlüssel {$AktuelleKategorie->kKategorie}. Type hidden seite: Die Seitenanzahl, zu der gesprungen werden soll Beispiel: <form name="gehezu" action="index.php"> <input type="hidden" name="k" value="{$AktuelleKategorie->kKategorie}"> <input type="hidden" name="{$session_name}" value="{$session_id}"> {#goToPage#}: <input type="text" name="seite" class="gehzuseite"> <input type="submit" value="{#go#}"> </form> JTL-SOFTWARE GMBH 178 JTL-SHOP 2 registrieren.tpl Inhaltsverzeichnis 1 registrieren.tpl o 1.1 Variablen o 1.2 fehlende Angaben Array o 1.3 Formulare Dieser Step zeigt dem Kunden das Formular an, in das er seine Kundendaten eingeben soll. Es bietet sich an das reine Kundenformular in eine eigene Templatedatei zu legen und hier einzubinden, da dieses Formular an meheren Stellen benötigt wird (z.B. unregistriert bestellen). Variablen Folgende Variablen stehen diesem step zur Verfügung: Variablenname Typ Beschreibung Kunde Objekt Nur gesetzt, wenn das Kundenformular bereits ausgefüllt wurde bzw. es sich um eine Kundendatenänderung handelt. Beschreibung siehe: unregistriert bestellen laender ObjektArray Beschreibung siehe unregistriert bestellen herkunfte ObjektArray herkunfte[i]->cHerkunft String Dieses Array bietet Auswahlmöglichkeiten, aus denen Kunden wählen können, wie sie auf den Shop aufmerksam geworden sind Eine Auswahlmöglichkeit (z.B. Google, Preissuchmaschine, etc.) JTL-SOFTWARE GMBH 179 JTL-SHOP 2 editRechnungsadresse Zahl Diese Variable sagt aus, ob nur die Rechnungsdaten verändert werden. (1) checkout Zahl Diese Variable sagt aus, ob das Kundenkonto im Zuge einer Bestellung erstellt wird. Falls ja, wird man nach erfolgreicher Kundenkontoerstellung zum Bestellvorgang weitergeleitet. (1) fehlendeAngaben Array Dieses assoziative Array enthält Informationen über nicht / falsch ausgefüllte Formularfelder. fehlende Angaben Array $fehlendeAngaben.[INPUTFELDNAME]>0: INPUTFELDNAME falsch / nicht ausgefüllt $fehlendeAngaben.pass_ungleich>0: Die Passwordwiederholung ist nicht mit dem Passwort identisch $fehlendeAngaben.pass_zu_kurz>0: Passwort zu kurz $fehlendeAngaben.email_vorhanden>0: Diese Emailadresse ist bereits in der Datenbank vorhanden Beispiele: $fehlendeAngaben.vorname>0: Das Vorname-Formularfeld wurde nicht ausgefüllt $fehlendeAngaben.email>0: Emailadresse-Formularfeld wurde nicht ausgefüllt Formulare Informationen zum Kundendatenformular finden Sie hier: bestellvorgang unregistriert bestellen Es kommen jedoch 2 Passworteingabefelder hinzu, die berücksichtigt werden müssen: pass: Passwort. Passwortfeld pass2: Passwortwiederholung. JTL-SOFTWARE GMBH 180 JTL-SHOP 2 seite.tpl Zurück zur Übersicht der Frontenddokumentation Diese Vorlage ist für alle selbstdefinierten Contentseiten zuständig, also z.B. für selbst erstellte Links wie "Über uns", "Impressum", etc. VariablenKurzurl Folgende Variablen stehen allen Steps zur Verfügung: Variablenname Typ Beschreibung Link Objekt Dieses Objekt enthält Informationen zum Content, der angezeigt werden soll Link->cName String eindeutiger Name Link->nLinkart Zahl Linkart, ob Contentlink (1) oder Link zur externen URL (2) Link->cURL String Externe URL Link->Sprache Objekt Dieses Objekt enthält den Inhalt des Links in der aktuellen Sprache Link->Sprache->cISOSprache String ISO-Code der Sprache Link->Sprache->cName anzuzeigender Name des Links String JTL-SOFTWARE GMBH 181 JTL-SHOP 2 Link->Sprache->cTitle String Titel des Links Link->Sprache->cContent String Inhalt (HTML), der angezeigt werden soll Einstellungen seite.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen JTL-SOFTWARE GMBH 182 JTL-SHOP 2 suche.tpl Inhaltsverzeichnis 1 suche.tpl o 1.1 Variablen o 1.2 Einstellungen o 1.3 Formulare 1.3.1 Artikel kaufen 1.3.2 Hersteller-, Kategoriefilter und Sortierung Diese Seite ist für die Anzeige der Suchergebnisse zuständig. VariablenKurzurl Folgende Variablen stehen allen Steps zur Verfügung: Variablenname Typ Beschreibung Suchergebnisse Objekt Enthält alle relevanten Infomrationen zur Suche Suchergebnisse->Suchausdruck String Suchausdruck, nach dem gesucht wurde Suchergebnisse->Sortierung Zahl Aktuell gewählte Sortierung JTL-SOFTWARE GMBH 183 JTL-SHOP 2 Suchergebnisse->Seitenzahlen Objekt Beschreibung siehe produkte.tpl Seitenzahlen Suchergebnisse->Artikel Objekt Suchergebnisse->Artikel->elemente ObjektArray Enthält Artikel Objekte Suchergebnisse->Artikel->elemente[i] Objekt Artikel, BEschreibung siehe: Artikel unter artikel.tpl Suchergebnisse->GesamtanzahlArtikel Zahl Anzahl Suchtreffer Suchergebnisse->ArtikelVon Zahl Auschnitt der Artikelmenge, die angezeigt wird. Dies ist die Nummer des ersten Artikels Suchergebnisse->ArtikelBis Zahl Auschnitt der Artikelmenge, die angezeigt wird. Dies ist die Nummer des letzten Artikels Suchergebnisse->Kategorieauswahl ObjektArray Dieses Array enthält Auswahlmöglichkeiten des Kategoriefilters Suchergebnisse->Kategorieauswahl[i]>kKategorie Schlüssel Suchergebnisse->Kategorieauswahl[i]->cName String Name der Kategorie Suchergebnisse->Kategorieauswahl[i]->nAnzahl Zahl Anzahl von Suchtreffern in dieser Kategorie Suchergebnisse->Herstellerauswahl ObjektArray Dieses Array enthält Auswahlmöglichkeiten für den Herstellerfilter JTL-SOFTWARE GMBH 184 JTL-SHOP 2 Suchergebnisse->Herstellerauswahl[i]>kHersteller Schlüssel Suchergebnisse->Herstellerauswahl[i]->cName String Name des Herstellers Suchergebnisse->Herstellerauswahl[i]->nAnzahl Zahl Anzahl von Suchtreffern in Artikeln dieses Herstellers Suchergebnisse->FilterAktiv Objekt Enhält Informationen zu aktiven Filtern Suchergebnisse->FilterAktiv->Kategorie Objekt Kategoriefilter Suchergebnisse->FilterAktiv->Kategorie->cName String Name der Kategorie Suchergebnisse->FilterAktiv->Kategorie>kKategorie Schlüssel Suchergebnisse->FilterAktiv->Hersteller Objekt Herstellerfilter Suchergebnisse->FilterAktiv->Hersteller->cName String Name des Herstellers Suchergebnisse->FilterAktiv->Hersteller>kHersteller Schlüssel Sortierliste ObjektArray Array mit Sortiermöglichkeiten, die angeboten werden sollen Sortierliste[i]->angezeigterName String Name der Sortiermöglichkeit JTL-SOFTWARE GMBH 185 JTL-SHOP 2 Sortierliste[i]->value Zahl Value des Sortierselectfelds. Einstellungen suche.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Artikelübersicht / Suche Formulare Es ist möglich, direkt Artikel aus den Suchtreffern in den Warenkorb zu legen. Zusätzlich können Suchergebnisse nach Kategorien und Herstellern gefiltert werden und die Sortierung verändert werden. Artikel kaufen Jeder Artikel erhält ein eigenes Formular. Action: suche.php Folgende Formularfelder müssen enthalten sein: a: gefüllt mit Artikel-Schlüssel {$Artikel->kArtikel}. Type hidden bietet sich an. wke: muss 1 sein. Type hidden bietet sich an. JTL-SOFTWARE GMBH 186 JTL-SHOP 2 {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. anzahl: Ein Textfeld für die Anzahl der Artikel, die in den Warenkorb gelegt werden sollen. Optimalerweise vorbelegt mit 1. Hersteller: Hidden Feld mit Value = $Suchergebnisse->FilterAktiv->Hersteller->kHersteller. Kategorie: Hidden Feld mit Value = $Suchergebnisse->FilterAktiv->Kategorie->kKategorie. Sortierung: Hidden Feld mit Value = $Suchergebnisse->Sortierung. Beispiel: <form name="a{$Artikel->kArtikel}" action="suche.php" method="post"> <input type="hidden" name="a" value="{$Artikel->kArtikel}"> <input type="hidden" name="wke" value="1"> <input type="hidden" name="Hersteller" value="{$Suchergebnisse->FilterAktiv->Hersteller->kHersteller}"> <input type="hidden" name="Kategorie" value="{$Suchergebnisse->FilterAktiv->Kategorie->kKategorie}"> <input type="hidden" name="Sortierung" value="{$Suchergebnisse->Sortierung}"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="text" name="anzahl" value="1" class="anzahl">{$Artikel->cEinheit} <input type="submit" value="kaufen"> </form> Hersteller-, Kategoriefilter und Sortierung Der Herstellerfilter filtert die Suchtreffer, so dass nur noch Treffer dieses Herstellers angezeigt werden. Der Kategoriefilter filtert die Suchtreffer, so dass nur noch Treffer angezeigt werden, die dieser Kategorie angehören oder in einer Unterkategorie dieser Kategorie drin sind. Action: suche.php Folgende Formularfelder müssen enthalten sein: {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. JTL-SOFTWARE GMBH 187 JTL-SHOP 2 Kategorie: Selectfeld mit Kategorien, auf die gefiltert werden soll Hersteller: Selectfeld mit Herstellern, auf die gefiltert werden soll Sortierung: Selectfeld mit Sortiermöglichkeiten Beispiel: <form name="suche_verfeinern" action="suche.php" method="post"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <select name="Kategorie" class="suche_verfeinern" onChange="javascript:document.suche_verfeinern.submit();"> {if $Suchergebnisse->FilterAktiv->Kategorie->kKategorie>0} <option value="{$Suchergebnisse->FilterAktiv->Kategorie->kKategorie}">{$Suchergebnisse->FilterAktiv->Kategorie->cName}</option> {else} <option>{#allCategories#}</option> {/if} {foreach name=kategorieauswahl from=$Suchergebnisse->Kategorieauswahl item=Kategorie} <option value="{$Kategorie->kKategorie}">{$Kategorie->cName} ({$Kategorie->nAnzahl})</option> {/foreach} </select> <select name="Hersteller" class="suche_verfeinern" onChange="javascript:document.suche_verfeinern.submit();"> {if $Suchergebnisse->FilterAktiv->Hersteller->kHersteller>0} <option value="{$Suchergebnisse->FilterAktiv->Hersteller->kHersteller}">{$Suchergebnisse->FilterAktiv->Hersteller->cName}</option> {else} <option>{#allManufacturers#}</option> {/if} {foreach name=herstellerauswahl from=$Suchergebnisse->Herstellerauswahl item=Hersteller} <option value="{$Hersteller->kHersteller}">{$Hersteller->cName} ({$Hersteller->nAnzahl})</option> {/foreach} </select> <select name="Sortierung" class="suche_verfeinern" onChange="javascript:document.suche_verfeinern.submit();"> {if !$Suchergebnisse->Sortierung}<option>Sortieren nach</option>{/if} {foreach name=sortierliste from=$Sortierliste item=Sort} <option value="{$Sort->value}" {if $Suchergebnisse->Sortierung==$Sort->value}selected{/if}>{$Sort->angezeigterName}</option> {/foreach} </select> </form> JTL-SOFTWARE GMBH 188 JTL-SHOP 2 warenkorb.tpl Inhaltsverzeichnis 1 warenkorb.tpl o 1.1 Variablen o 1.2 Einstellungen o 1.3 Anwendungsbeispiele o 1.4 Formulare 1.4.1 Warenkorb Positionsanzahl Formular Diese Seite ist für die Anzeige der Warenkorbseite zuständig. Variablen Folgende Variablen stehen artikel.tpl zur Verfügung: Variablenname Typ Beschreibung MsgWarning String Hinweis, dass der Bestellvorgang nicht weitergeführt werden kann (weil z.B. der Warenkorb leer ist) WarensummeLocalized PreisArray Zu zahlender Betrag Netto[1] / Brutto [0] Schnellkaufhinweis String Hinweis von der Schnellkauf-Box. Er besagt, ob der Artikel mit der angegebenen Artikelnummer / EAN erfolgreich in den Warenkorb eingefügt wurde oder nicht gefunden werden konnte. JTL-SOFTWARE GMBH 189 JTL-SHOP 2 Steuerpositionen ObjektArray Ein Array von Steuerpositionen. Eine Steuerposition ist eine Position mit einem USt.-Satz und dem absoluten Betrag aller Warenkorbpositionen zu dieser USt. Steuerpositionen[i]->cName String Name dieser Steuerposition (z.B. inkl. 19% USt.) Steuerpositionen[i]->fUst Zahl Steuersatz Steuerpositionen[i]->fBetrag Zahl Betrag dieser USt. Steuerpositionen[i]>cPreisLocalized String Betrag dieser USt. lokalisiert mit Währungsangabe Der Warenkorb inkl. aller Positionen sind in der Session enthalten: Variablenname Typ Beschreibung smarty.session.Warenkorb Objekt Dieses Objekt repräsentiert den Warenkorb smarty.session.Warenkorb->PositionenArr ObjektArray Dieses Array enthält die Warenkorbpositionen smarty.session.Warenkorb->PositionenArr[i] Objekt (Warenkorbposition) Dieses Objekt ist eine Warenkorbposition smarty.session.Warenkorb->PositionenArr[i]>kArtikel Schlüssel Schlüssel des Artikels. JTL-SOFTWARE GMBH 190 JTL-SHOP 2 smarty.session.Warenkorb->PositionenArr[i]>kSteuerklasse Schlüssel Schlüssel der Steuerklasse smarty.session.Warenkorb->PositionenArr[i]>nAnzahl Zahl Anzahl der Position smarty.session.Warenkorb->PositionenArr[i]>nPosTyp Zahl 1 = Artikelposition, 0 = keine Artikelposition (sondern z.B. Versandkosten) smarty.session.Warenkorb->PositionenArr[i]>fPreisEinzelNetto Zahl Einzel-Nettopreis smarty.session.Warenkorb->PositionenArr[i]>fPreis Zahl Einzel-Nettopreis inkl. Aufpreise/Rabatte smarty.session.Warenkorb->PositionenArr[i]>fGesamtgewicht Zahl Gesamtgewicht dieser Position smarty.session.Warenkorb->PositionenArr[i]>cName SprachArray anzuzeigender Name der Position. Bsp: cName['ger'] smarty.session.Warenkorb->PositionenArr[i]>cGesamtpreisLocalized PreisWaehrungArray Gesamtpreis der Position. Verwendung: cGesamtpreisLocalized[$NettoPreise][$Waehrung->cName], Bsp: cGesamtpreisLocalized[0]['EUR'] = Brutto in EUR, cGesamtpreisLocalized[1]['USD'] = Netto in USD smarty.session.Warenkorb->PositionenArr[i]>Artikel Objekt (Artikel) Beschreibung siehe Artikel unter artikel.tpl JTL-SOFTWARE GMBH 191 JTL-SHOP 2 smarty.session.Warenkorb->PositionenArr[i]>WarenkorbPosEigenschaftArr ObjektArray Dieses Array enthält Eigenschaften der Position (z.B. Größe/Farbe bei TShirts) smarty.session.Warenkorb->PositionenArr[i]>WarenkorbPosEigenschaftArr[o]->fAufpreis Zahl Nettoaufpreis / Nettorabatt smarty.session.Warenkorb->PositionenArr[i]>WarenkorbPosEigenschaftArr[o]>fGewichtsdifferenz Zahl Gewichtsdifferenz zum Artikelgewicht smarty.session.Warenkorb->PositionenArr[i]>WarenkorbPosEigenschaftArr[o]>cEigenschaftName SprachArray anzuzeigender Name der Eigenschaft (Variation), z.B. Größe. Anwendungsbeispiel: cEigenschaftName['ger'] smarty.session.Warenkorb->PositionenArr[i]>WarenkorbPosEigenschaftArr[o]>cEigenschaftWertName SprachArray anzuzeigender Name des Eigenschaftwertes (Variationswert), z.B. XXL. Anwendungsbeispiel: cEigenschaftWertName['ger'] smarty.session.Warenkorb->PositionenArr[i]>WarenkorbPosEigenschaftArr[o]>cAufpreisLocalized PreisWaehrungArray Aufpreis/Rabatt dieser Eigenschaft (Variation). Verwendung: cAufpreisLocalized[$NettoPreise][$Waehrung->cName], Bsp: cAufpreisLocalized[0]['EUR'] = Brutto in EUR, cAufpreisLocalized[1]['USD'] = Netto in USD $smarty.session.Bestellung Objekt Dieses Objekt enthält zusätzliche Informationen zur aktuellen Bestellung $smarty.session.Bestellung>GuthabenNutzen Bool Wird ein Guthaben (Gutschein) in dieser Bestellung eingesetzt (1/0) JTL-SOFTWARE GMBH 192 JTL-SHOP 2 $smarty.session.Bestellung>GutscheinLocalized String Guthaben / Gutscheinwert, der in der Bestellung verwendet wird. Mit Währungsangabe Einstellungen warenkorb.tpl stehen folgende Einstellungen zur Verfügung: Globale Einstellungen Warenkorb / Kaufabwicklung Anwendungsbeispiele Warenkorbpositionen (in einer Tabelle) anzeigen: {foreach name=positionen from=$smarty.session.Warenkorb->PositionenArr item=Position} <table width="100%" border="0" cellspacing="0" cellpadding="0" style="padding-top:11px;border-color:#929292;border-width:1px; border-style:dotted;border-topwidth:0px;border-right-width:0px;border-left-width:0px;"> <tr> <td valign="top" style="padding-bottom:5px;"> {if $Position->nPosTyp==1} <a href="{$Position->Artikel->cURL}"><span class="bluenormal">{$Position->cName[$smarty.session.cISOSprache]}</span></a><br> <span class="small">{#productNo#} {$Position->Artikel->cArtNr}</span> {foreach name=variationen from=$Position->WarenkorbPosEigenschaftArr item=Variation} <br><span class="standard">{$Variation->cEigenschaftName[$smarty.session.cISOSprache]}: {$Variation>cEigenschaftWertName[$smarty.session.cISOSprache]}</span> {/foreach} {else} JTL-SOFTWARE GMBH 193 JTL-SHOP 2 <span class="bluenormal">{$Position->cName[$smarty.session.cISOSprache]}</span> {/if} </td> <td width="25" valign="top"> {if $Position->nPosTyp==1} <a href="warenkorb.php?dropPos={$smarty.foreach.positionen.index}"><img src="{$currentTemplateDir}gfx/button_PosEntfernen.gif"></a> {/if} </td> <td width="32" style="padding-left:10px;" valign="top"> {if $Position->nPosTyp==1} <input type="text" class="anzahl" name="anzahl[]" value="{$Position->nAnzahl}"> {/if} </td> <td width="50" style="padding-left:2px;" valign="top"> <span class="standard">{$Position->Artikel->cEinheit}</span> </td> <td width="90" style="padding-left:2px;" align="right" valign="top"> <span class="standard">{$Position->cGesamtpreisLocalized[$NettoPreise][$smarty.session.cWaehrungName]}</span><br>{$Position->Artikel->cMwstText} </td> </tr> </table> {/foreach} Steuerpositionen / Guthaben anzeigen: <table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-color:#929292;border-width:1px; border-style:dotted;border-topwidth:0px;border-right-width:0px;border-left-width:0px;"> {foreach name=steuerpositionen from=$Steuerpositionen item=Steuerposition} <tr> <td valign="top" align="right" style=""> <span class="standard">{$Steuerposition->cName}:</span></a> </td> <td width="90" style="" align="right" valign="top"> <span class="standard">{$Steuerposition->cPreisLocalized}</span> </td> JTL-SOFTWARE GMBH 194 JTL-SHOP 2 </tr> {/foreach} {if $smarty.session.Bestellung->GuthabenNutzen==1} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:11px;"> <span class="standard"><b>{#voucher#}:</b></span></a> </td> <td width="90" style="padding-bottom:5px;padding-top:11px;" align="right" valign="top"> <span class="standard"><b>-{$smarty.session.Bestellung->GutscheinLocalized}</b></span> </td> </tr> {/if} </table> Formulare Die Warenkorbseite enthält ein Formular, mit dem die Anzahl der zu erwerbenden Artikel der jeweiligen Position geändert werden kann. Warenkorb Positionsanzahl Formular Action: warenkorb.php Folgende Formularfelder müssen enthalten sein: wke: muss 1 sein. Type hidden bietet sich an. {$session_name}: gefüllt mit {$session_id}. Ist notwendig für Browser, die keine Cookies akzeptieren. Type hidden bietet sich an. anzahl[] Artikelanzahl der jeweiligen Warenkorbposition. Dieses Feld ist bildet ein Array und muss sich in einer Schleife über die Warenkorbpositionen befinden JTL-SOFTWARE GMBH 195 JTL-SHOP 2 Beispiel: <form name="WareknkorbAkt" method="post" action="warenkorb.php" style="margin:0px;padding:0px;"> <input type="hidden" name="wka" value="1"> <input type="hidden" name="{$session_name}" value="{$session_id}"> <input type="text" class="anzahl" name="anzahl[]" value="{$Position->nAnzahl}"> <input type="submit" name="Warenkorb aktualisieren"> </form> Achtung: Das Eingabefeld anzahl[] muss sich in einer Schleife der Warenkorbpositionen befinden. JTL-SOFTWARE GMBH 196 JTL-SHOP 2 6. Email-Dokumentation Zunächst finden Sie hier eine aktuelle Auswahl an Templatevorlagen. Emailtemplates werden im Adminbereich des Shops angepasst. Inhaltsverzeichnis 1 JTL Shop 2 Emaildokumentation o 1.1 Aktuelle Vorlagen 1.1.1 Bestellbestätigung 1.1.2 Kundengruppenzuweisung durch Shopbetreiber Aktuelle Vorlagen Diese Liste wird mit der Zeit erweitert. Bestellbestätigung Deutsch Betreff: Ihre Bestellung Nr. #bestellung.bestellnr# bei #firma.name# HTML Inhalt: Sehr {if $Kunde->cAnrede=="Frau"}geehrte{else}geehrter{/if} {$Kunde->cAnrede} {$Kunde->cNachname}{if $Kunde->cFirma|count_characters > 0} {$Kunde>cFirma}{/if},<br><br> vielen Dank für Ihre Bestellung bei {$Einstellungen.global.global_shopname}. <br><br> JTL-SOFTWARE GMBH 197 JTL-SHOP 2 Ihre Bestellung mit Bestellnummer {$Bestellung->cBestellNr} umfasst folgende Positionen: <br><br> {foreach name=pos from=$Bestellung->Positionen item=Position} <table width="600" border="0" cellspacing="0" cellpadding="0" style="padding-top:11px;border-color:#929292;border-width:1px; borderstyle:dotted;border-top-width:0px;border-right-width:0px;border-left-width:0px;"> <tr> <td valign="top" style="padding-bottom:5px;"> {if $Position->nPosTyp==1} <b>{$Position->cName} ({$Position->cArtNr})</b> {if $Einstellungen.kaufabwicklung.bestellvorgang_lieferstatus_anzeigen=="Y" && $Position->cLieferstatus} <br><span class="small">Lieferzeit: {$Position->cLieferstatus}</span> {/if}<br> {foreach name=variationen from=$Position->WarenkorbPosEigenschaftArr item=WKPosEigenschaft} <br><span class="standard"><b>{$WKPosEigenschaft->cEigenschaftName}</b>: {$WKPosEigenschaft->cEigenschaftWertName} </span> {/foreach} {else} <span class="bluenormal">{$Position->cName}</span> {/if} </td> <td width="50" style="padding-left:2px;" valign="top"> <span class="standard">{$Position->nAnzahl}</span> </td> {if $Einstellungen.kaufabwicklung.bestellvorgang_einzelpreise_anzeigen=="Y"} <td width="90" style="padding-left:2px;" align="right" valign="top"> <span class="standard">{$Position->cEinzelpreisLocalized[0]}</span> </td> {/if} <td width="90" style="padding-left:2px;" align="right" valign="top"> <span class="standard">{$Position->cGesamtpreisLocalized[0]}</span> </td> </tr> </table> {/foreach} <table width="600" border="0" cellspacing="0" cellpadding="0" style="padding-top:11px;border-color:#929292;border-width:1px; borderstyle:dotted;border-top-width:0px;border-right-width:0px;border-left-width:0px;"> JTL-SOFTWARE GMBH 198 JTL-SHOP 2 {if $Einstellungen.global.global_steuerpos_anzeigen!="N"} {foreach name=steuerpositionen from=$Bestellung->Steuerpositionen item=Steuerposition} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:4px;padding-right:8px;"> <span class="standard">{$Steuerposition->cName}:</span></a> </td> <td width="90" style="padding-bottom:5px;padding-top:4px;padding-right:8px;" align="right" valign="top"> <span class="standard">{$Steuerposition->cPreisLocalized}</span> </td> </tr> {/foreach} {/if} {if $Bestellung->GuthabenNutzen==1} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:11px;"> <span class="standard"><b>Gutschein:</b></span></a> </td> <td width="90" style="padding-bottom:5px;padding-top:11px;" align="right" valign="top"> <span class="standard"><b>-{$Bestellung->GutscheinLocalized}</b></span> </td> </tr> {/if} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:4px;padding-right:8px;font-size: 18px;"> <span class="standard"><b>Gesamtsumme:</b></span></a> </td> <td width="90" style="padding-bottom:5px;padding-top:4px;padding-right:8px; font-size: 18px;" align="right" valign="top"> <span class="standard"><b>{$Bestellung->WarensummeLocalized[0]}</b></span> </td> </tr> </table><br><br> Ihre Rechnungsadresse:<br> {$Kunde->cAnrede} {$Kunde->cVorname} {$Kunde->cNachname}<br> {if $Kunde->cFirma|count_characters > 0} {$Kunde->cFirma}<br>{/if} {$Kunde->cStrasse}<br> JTL-SOFTWARE GMBH 199 JTL-SHOP 2 {if $Kunde->cAdressZusatz}{$Kunde->cAdressZusatz}<br> {/if}{$Kunde->cPLZ} {$Kunde->cOrt}<br> {if $Kunde->cBundesland}{$Kunde->cBundesland}<br> {/if}{$Kunde->cLand}<br> {if $Kunde->cTel}Tel: {$Kunde->cTel}<br> {/if}{if $Kunde->cMobil}Mobil: {$Kunde->cMobil}<br> {/if}{if $Kunde->cFax}Fax: {$Kunde->cFax}<br> {/if}<br> Email: {$Kunde->cMail}<br> {if $Kunde->cUSTID}UstID: {$Kunde->cUSTID}<br> {/if} <br><br> {if $Bestellung->Lieferadresse->kLieferadresse>0} Ihre Lieferadresse: <br><br> {$Bestellung->Lieferadresse->cAnrede} {$Bestellung->Lieferadresse->cVorname} {$Bestellung->Lieferadresse->cNachname}<br> {$Bestellung->Lieferadresse->cStrasse}<br> {if $Bestellung->Lieferadresse->cAdressZusatz}{$Bestellung->Lieferadresse->cAdressZusatz}<br> {/if}{$Bestellung->Lieferadresse->cPLZ} {$Bestellung->Lieferadresse->cOrt}<br> {if $Bestellung->Lieferadresse->cBundesland}{$Bestellung->Lieferadresse->cBundesland}<br> {/if}{$Bestellung->Lieferadresse->cLand}<br> {if $Bestellung->Lieferadresse->cTel}Tel: {$Bestellung->Lieferadresse->cTel}<br> {/if}{if $Bestellung->Lieferadresse->cMobil}Mobil: {$Bestellung->Lieferadresse->cMobil}<br> {/if}{if $Bestellung->Lieferadresse->cFax}Fax: {$Bestellung->Lieferadresse->cFax}<br> {/if}{if $Bestellung->Lieferadresse->cMail}Email: {$Bestellung->Lieferadresse->cMail}<br> {/if}<br> {else} Lieferadresse ist gleich Rechnungsadresse. {/if} <br><br> Sie haben folgende Zahlungsart gewählt: {$Bestellung->cZahlungsartName}<br><br> {if $Bestellung->Zahlungsart->cModulId=="za_ueberweisung_jtl"} Bitte führen Sie folgende Überweisung durch:<br> <table width="400" cellpadding="0" cellspacing="0"> JTL-SOFTWARE GMBH 200 JTL-SHOP 2 <tr><td>Kontoinhaber:</td><td>{$Firma->cKontoinhaber}</td></tr> <tr><td>Bank:</td><td>{$Firma->cBank}</td></tr> <tr><td>KontoNr:</td><td>{$Firma->cKontoNr}</td></tr> <tr><td>BLZ:</td><td>{$Firma->cBLZ}</td></tr> <tr><td> </td><td></td></tr> <tr><td><strong>Verwendungszweck</strong>:</td><td><strong>{$Bestellung->cBestellNr}</strong></td></tr> <tr><td><strong>Betrag</strong>:</td><td><strong>{$Bestellung->WarensummeLocalized[0]}</strong></td></tr> <tr><td> </td><td></td></tr> <tr><td colspan="2"><strong>Für Auslandsüberweisungen:</strong></td></tr> <tr><td>BIC:</td><td>{$Firma->cBIC}</td></tr> <tr><td>IBAN:</td><td>{$Firma->cIBAN}</td></tr> </table><br> {elseif $Bestellung->Zahlungsart->cModulId=="za_nachnahme_jtl"} Sie erhalten Ihre Ware per Nachnahme und zahlen direkt beim Postboten. {elseif $Bestellung->Zahlungsart->cModulId=="za_kreditkarte_jtl"} Wir belasten Ihre Kreditkarte in Kürze mit der fälligen Summe von {$Bestellung->WarensummeLocalized[0]}. {elseif $Bestellung->Zahlungsart->cModulId=="za_rechnung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_lastschrift_jtl"} Wir belasten in Kürze folgendes Bankkonto um die fällige Summe:<br><br> Kontoinhaber: {$Bestellung->Zahlungsinfo->cInhaber}<br> KontoNr: {$Bestellung->Zahlungsinfo->cKontoNr}<br> BLZ: {$Bestellung->Zahlungsinfo->cBLZ}<br> Bank: {$Bestellung->Zahlungsinfo->cBankName}<br><br> {elseif $Bestellung->Zahlungsart->cModulId=="za_barzahlung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_paypal_jtl"} Falls Sie Ihre Zahlung per PayPal noch nicht durchgeführt haben, nutzen Sie folgende Emailadresse als Empfänger: {$Einstellungen.zahlungsarten.zahlungsart_paypal_empfaengermail} {elseif $Bestellung->Zahlungsart->cModulId=="za_moneybookers_jtl"} {/if} {if $Bestellung->Zahlungsart->cModulId!="za_nachnahme_jtl" && $Bestellung->Zahlungsart->cModulId!="za_barzahlung_jtl"} Die Bestellung wird direkt nach Zahlungseingang versandt. <br> {/if} Über den weiteren Verlauf Ihrer Bestellung werden wir Sie jeweils gesondert informieren. <br><br> JTL-SOFTWARE GMBH 201 JTL-SHOP 2 Mit freundlichem Gruß <br><br> Ihr Team von {$Firma->cName} Text Inhalt: Sehr {if $Kunde->cAnrede=="Frau"}geehrte{else}geehrter{/if} {$Kunde->cAnrede} {$Kunde->cNachname}{if $Kunde->cFirma|count_characters > 0} {$Kunde->cFirma}{/if}, vielen Dank für Ihre Bestellung bei {$Einstellungen.global.global_shopname}. Ihre Bestellung mit Bestellnummer {$Bestellung->cBestellNr} umfasst folgende Positionen: {foreach name=pos from=$Bestellung->Positionen item=Position} {if $Position->nPosTyp==1} {$Position->nAnzahl}x {$Position->cName} - {$Position->cGesamtpreisLocalized[0]}{if $Einstellungen.kaufabwicklung.bestellvorgang_lieferstatus_anzeigen=="Y" && $Position->cLieferstatus} Lieferzeit: {$Position->cLieferstatus}{/if} {foreach name=variationen from=$Position->WarenkorbPosEigenschaftArr item=WKPosEigenschaft} {$WKPosEigenschaft->cEigenschaftName}: {$WKPosEigenschaft->cEigenschaftWertName}{/foreach} {else} {$Position->nAnzahl}x {$Position->cName} - {$Position->cGesamtpreisLocalized[0]}{/if} {/foreach} {if $Einstellungen.global.global_steuerpos_anzeigen!="N"}{foreach name=steuerpositionen from=$Bestellung->Steuerpositionen item=Steuerposition} {$Steuerposition->cName}: {$Steuerposition->cPreisLocalized} {/foreach}{/if} {if $Bestellung->GuthabenNutzen==1} Gutschein: -{$Bestellung->GutscheinLocalized} {/if} Gesamtsumme: {$Bestellung->WarensummeLocalized[0]} JTL-SOFTWARE GMBH 202 JTL-SHOP 2 Ihre Rechnungsadresse: {$Kunde->cAnrede} {$Kunde->cVorname} {$Kunde->cNachname} {if $Kunde->cFirma|count_characters > 0} {$Kunde->cFirma}{/if} {$Kunde->cStrasse} {if $Kunde->cAdressZusatz}{$Kunde->cAdressZusatz} {/if}{$Kunde->cPLZ} {$Kunde->cOrt} {if $Kunde->cBundesland}{$Kunde->cBundesland} {/if}{$Kunde->cLand} {if $Kunde->cTel}Tel: {$Kunde->cTel} {/if}{if $Kunde->cMobil}Mobil: {$Kunde->cMobil} {/if}{if $Kunde->cFax}Fax: {$Kunde->cFax} {/if} Email: {$Kunde->cMail} {if $Kunde->cUSTID}UstID: {$Kunde->cUSTID} {/if} {if $Bestellung->Lieferadresse->kLieferadresse>0} Ihre Lieferadresse: {$Bestellung->Lieferadresse->cAnrede} {$Bestellung->Lieferadresse->cVorname} {$Bestellung->Lieferadresse->cNachname} {$Bestellung->Lieferadresse->cStrasse} {if $Bestellung->Lieferadresse->cAdressZusatz}{$Bestellung->Lieferadresse->cAdressZusatz} {/if}{$Bestellung->Lieferadresse->cPLZ} {$Bestellung->Lieferadresse->cOrt} {if $Bestellung->Lieferadresse->cBundesland}{$Bestellung->Lieferadresse->cBundesland} {/if}{$Bestellung->Lieferadresse->cLand} {if $Bestellung->Lieferadresse->cTel}Tel: {$Bestellung->Lieferadresse->cTel} {/if}{if $Bestellung->Lieferadresse->cMobil}Mobil: {$Bestellung->Lieferadresse->cMobil} {/if}{if $Bestellung->Lieferadresse->cFax}Fax: {$Bestellung->Lieferadresse->cFax} {/if}{if $Bestellung->Lieferadresse->cMail}Email: {$Bestellung->Lieferadresse->cMail} {/if} {else} Lieferadresse ist gleich Rechnungsadresse. {/if} JTL-SOFTWARE GMBH 203 JTL-SHOP 2 Sie haben folgende Zahlungsart gewählt: {$Bestellung->cZahlungsartName} {if $Bestellung->Zahlungsart->cModulId=="za_ueberweisung_jtl"} Bitte führen Sie folgende Überweisung durch: Kontoinhaber: {$Firma->cKontoinhaber} KontoNr: {$Firma->cKontoNr} BLZ: {$Firma->cBLZ} Bank: {$Firma->cBank} Verwendungszweck: {$Bestellung->cBestellNr} Betrag: {$Bestellung->WarensummeLocalized[0]} Für Auslandsüberweisungen: BIC: {$Firma->cBIC} IBAN: {$Firma->cIBAN} {elseif $Bestellung->Zahlungsart->cModulId=="za_nachnahme_jtl"} Sie erhalten Ihre Ware per Nachnahme und zahlen direkt beim Postboten. {elseif $Bestellung->Zahlungsart->cModulId=="za_kreditkarte_jtl"} Wir belasten Ihre Kreditkarte in Kürze mit der fälligen Summe von {$Bestellung->WarensummeLocalized[0]}. {elseif $Bestellung->Zahlungsart->cModulId=="za_rechnung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_lastschrift_jtl"} Wir belasten in Kürze folgendes Bankkonto um die fällige Summe: Kontoinhaber: {$Bestellung->Zahlungsinfo->cInhaber} KontoNr: {$Bestellung->Zahlungsinfo->cKontoNr} BLZ: {$Bestellung->Zahlungsinfo->cBLZ} Bank: {$Bestellung->Zahlungsinfo->cBankName} {elseif $Bestellung->Zahlungsart->cModulId=="za_barzahlung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_paypal_jtl"} Falls Sie Ihre Zahlung per PayPal noch nicht durchgeführt haben, nutzen Sie folgende Emailadresse als Empfänger: {$Einstellungen.zahlungsarten.zahlungsart_paypal_empfaengermail} {elseif $Bestellung->Zahlungsart->cModulId=="za_moneybookers_jtl"} {/if} {if $Bestellung->Zahlungsart->cModulId!="za_nachnahme_jtl" && $Bestellung->Zahlungsart->cModulId!="za_barzahlung_jtl" && $Bestellung->Zahlungsart>cModulId!="za_rechnung_jtl"} JTL-SOFTWARE GMBH 204 JTL-SHOP 2 Die Bestellung wird direkt nach Zahlungseingang versandt. {/if} Über den weiteren Verlauf Ihrer Bestellung werden wir Sie jeweils gesondert informieren. Mit freundlichem Gruß Ihr Team von {$Firma->cName} Englisch Betreff: Your order #bestellung.bestellnr# at #firma.name# HTML Inhalt: Dear {$Kunde->cVorname} {$Kunde->cNachname}, <br><br> Thank you for order at {$Einstellungen.global.global_shopname}. <br><br> Your order with the order number {$Bestellung->cBestellNr} consists of the following items: <br><br> {foreach name=pos from=$Bestellung->Positionen item=Position} <table width="600" border="0" cellspacing="0" cellpadding="0" style="padding-top:11px;border-color:#929292;border-width:1px; borderstyle:dotted;border-top-width:0px;border-right-width:0px;border-left-width:0px;"> <tr> <td valign="top" style="padding-bottom:5px;"> {if $Position->nPosTyp==1} <b>{$Position->cName}</b> {if $Einstellungen.kaufabwicklung.bestellvorgang_lieferstatus_anzeigen=="Y" && $Position>cLieferstatus} <br><span class="small">Shipping time: {$Position->cLieferstatus}</span> {/if}<br> {foreach name=variationen from=$Position->WarenkorbPosEigenschaftArr item=WKPosEigenschaft} <br><span class="standard"><b>{$WKPosEigenschaft->cEigenschaftName}</b>: {$WKPosEigenschaft->cEigenschaftWertName} </span> {/foreach} {else} JTL-SOFTWARE GMBH 205 JTL-SHOP 2 <span class="bluenormal">{$Position->cName}</span> {/if} </td> <td width="50" style="padding-left:2px;" valign="top"> <span class="standard">{$Position->nAnzahl}</span> </td> {if $Einstellungen.kaufabwicklung.bestellvorgang_einzelpreise_anzeigen=="Y"} <td width="90" style="padding-left:2px;" align="right" valign="top"> <span class="standard">{$Position->cEinzelpreisLocalized[0]}</span> </td> {/if} <td width="90" style="padding-left:2px;" align="right" valign="top"> <span class="standard">{$Position->cGesamtpreisLocalized[0]}</span> </td> </tr> </table> {/foreach} <table width="600" border="0" cellspacing="0" cellpadding="0" style="padding-top:11px;border-color:#929292;border-width:1px; borderstyle:dotted;border-top-width:0px;border-right-width:0px;border-left-width:0px;"> {if $Einstellungen.global.global_steuerpos_anzeigen!="N"} {foreach name=steuerpositionen from=$Bestellung->Steuerpositionen item=Steuerposition} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:4px;padding-right:8px;"> <span class="standard">{$Steuerposition->cName}:</span></a> </td> <td width="90" style="padding-bottom:5px;padding-top:4px;padding-right:8px;" align="right" valign="top"> <span class="standard">{$Steuerposition->cPreisLocalized}</span> </td> </tr> {/foreach} {/if} {if $Bestellung->GuthabenNutzen==1} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:11px;"> <span class="standard"><b>Gutschein:</b></span></a> </td> JTL-SOFTWARE GMBH 206 JTL-SHOP 2 <td width="90" style="padding-bottom:5px;padding-top:11px;" align="right" valign="top"> <span class="standard"><b>-{$Bestellung->GutscheinLocalized}</b></span> </td> </tr> {/if} <tr> <td valign="top" align="right" style="padding-bottom:5px;padding-top:4px;padding-right:8px;font-size: 18px;"> <span class="standard"><b>Gesamtsumme:</b></span></a> </td> <td width="90" style="padding-bottom:5px;padding-top:4px;padding-right:8px; font-size: 18px;" align="right" valign="top"> <span class="standard"><b>{$Bestellung->WarensummeLocalized[0]}</b></span> </td> </tr> </table><br><br> Your billing adress:<br> {$Kunde->cAnrede} {$Kunde->cVorname} {$Kunde->cNachname}<br> {$Kunde->cStrasse}<br> {if $Kunde->cAdressZusatz}{$Kunde->cAdressZusatz}<br> {/if}{$Kunde->cPLZ} {$Kunde->cOrt}<br> {if $Kunde->cBundesland}{$Kunde->cBundesland}<br> {/if}{$Kunde->cLand}<br> {if $Kunde->cTel}Tel: {$Kunde->cTel}<br> {/if}{if $Kunde->cMobil}Mobil: {$Kunde->cMobil}<br> {/if}{if $Kunde->cFax}Fax: {$Kunde->cFax}<br> {/if}<br> Email: {$Kunde->cMail}<br> {if $Kunde->cUSTID}UstID: {$Kunde->cUSTID}<br> {/if} <br><br> {if $Bestellung->Lieferadresse->kLieferadresse>0} Your shipping adress: <br><br> {$Bestellung->Lieferadresse->cAnrede} {$Bestellung->Lieferadresse->cVorname} {$Bestellung->Lieferadresse->cNachname}<br> {$Bestellung->Lieferadresse->cStrasse}<br> {if $Bestellung->Lieferadresse->cAdressZusatz}{$Bestellung->Lieferadresse->cAdressZusatz}<br> {/if}{$Bestellung->Lieferadresse->cPLZ} {$Bestellung->Lieferadresse->cOrt}<br> JTL-SOFTWARE GMBH 207 JTL-SHOP 2 {if $Bestellung->Lieferadresse->cBundesland}{$Bestellung->Lieferadresse->cBundesland}<br> {/if}{$Bestellung->Lieferadresse->cLand}<br> {if $Bestellung->Lieferadresse->cTel}Tel: {$Bestellung->Lieferadresse->cTel}<br> {/if}{if $Bestellung->Lieferadresse->cMobil}Mobil: {$Bestellung->Lieferadresse->cMobil}<br> {/if}{if $Bestellung->Lieferadresse->cFax}Fax: {$Bestellung->Lieferadresse->cFax}<br> {/if}{if $Bestellung->Lieferadresse->cMail}Email: {$Bestellung->Lieferadresse->cMail}<br> {/if}<br> {/if} <br><br> You have chosen the following shipping option: {$Bestellung->cZahlungsartName}<br><br> {if $Bestellung->Zahlungsart->cModulId=="za_ueberweisung_jtl"} Please make the following banktransfer:<br> <table width="400" cellpadding="0" cellspacing="0"> <tr><td>Account owner:</td><td>{$Firma->cKontoinhaber}</td></tr> <tr><td>bank:</td><td>{$Firma->cBank}</td></tr> <tr><td>account No.:</td><td>{$Firma->cKontoNr}</td></tr> <tr><td>BLZ:</td><td>{$Firma->cBLZ}</td></tr> <tr><td> </td><td></td></tr> <tr><td><strong>Purpose</strong>:</td><td><strong>{$Bestellung->cBestellNr}</strong></td></tr> <tr><td><strong>Total sum</strong>:</td><td><strong>{$Bestellung->WarensummeLocalized[0]}</strong></td></tr> <tr><td> </td><td></td></tr> <tr><td colspan="2"><strong>For international banktransfers:</strong></td></tr> <tr><td>BIC:</td><td>{$Firma->cBIC}</td></tr> <tr><td>IBAN:</td><td>{$Firma->cIBAN}</td></tr> </table><br> {elseif $Bestellung->Zahlungsart->cModulId=="za_nachnahme_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_kreditkarte_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_rechnung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_lastschrift_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_barzahlung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_paypal_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_moneybookers_jtl"} {/if} JTL-SOFTWARE GMBH 208 JTL-SHOP 2 Your order will be shipped on receipt of payment. If you have chosen cash on delivery, you will of course only pay on receipt of your goods. <br><br> You will be notified about the following status of your order separately. <br><br> Yours sincerely, <br><br> {$Firma->cName} Text Inhalt: Dear {$Kunde->cVorname} {$Kunde->cNachname}, Thank you for order at {$Einstellungen.global.global_shopname}. Your order with the order number {$Bestellung->cBestellNr} consists of the following items: {foreach name=pos from=$Bestellung->Positionen item=Position} {if $Position->nPosTyp==1} {$Position->nAnzahl}x {$Position->cName} - {$Position->cGesamtpreisLocalized[0]}{if $Einstellungen.kaufabwicklung.bestellvorgang_lieferstatus_anzeigen=="Y" && $Position->cLieferstatus} Shipping time: {$Position->cLieferstatus}{/if} {foreach name=variationen from=$Position->WarenkorbPosEigenschaftArr item=WKPosEigenschaft} {$WKPosEigenschaft->cEigenschaftName}: {$WKPosEigenschaft->cEigenschaftWertName}{/foreach} {else} {$Position->nAnzahl}x {$Position->cName} - {$Position->cGesamtpreisLocalized[0]}{/if} {/foreach} {if $Einstellungen.global.global_steuerpos_anzeigen!="N"}{foreach name=steuerpositionen from=$Bestellung->Steuerpositionen item=Steuerposition} {$Steuerposition->cName}: {$Steuerposition->cPreisLocalized} {/foreach}{/if} {if $Bestellung->GuthabenNutzen==1} Voucher: -{$Bestellung->GutscheinLocalized} {/if} JTL-SOFTWARE GMBH 209 JTL-SHOP 2 Total: {$Bestellung->WarensummeLocalized[0]} Your billing adress: {$Kunde->cAnrede} {$Kunde->cVorname} {$Kunde->cNachname} {$Kunde->cStrasse} {if $Kunde->cAdressZusatz}{$Kunde->cAdressZusatz} {/if}{$Kunde->cPLZ} {$Kunde->cOrt} {if $Kunde->cBundesland}{$Kunde->cBundesland} {/if}{$Kunde->cLand} {if $Kunde->cTel}Tel: {$Kunde->cTel} {/if}{if $Kunde->cMobil}Mobil: {$Kunde->cMobil} {/if}{if $Kunde->cFax}Fax: {$Kunde->cFax} {/if} Email: {$Kunde->cMail} {if $Kunde->cUSTID}UstID: {$Kunde->cUSTID} {/if} {if $Bestellung->Lieferadresse->kLieferadresse>0} Your shipping adress: {$Bestellung->Lieferadresse->cAnrede} {$Bestellung->Lieferadresse->cVorname} {$Bestellung->Lieferadresse->cNachname} {$Bestellung->Lieferadresse->cStrasse} {if $Bestellung->Lieferadresse->cAdressZusatz}{$Bestellung->Lieferadresse->cAdressZusatz} {/if}{$Bestellung->Lieferadresse->cPLZ} {$Bestellung->Lieferadresse->cOrt} {if $Bestellung->Lieferadresse->cBundesland}{$Bestellung->Lieferadresse->cBundesland} {/if}{$Bestellung->Lieferadresse->cLand} {if $Bestellung->Lieferadresse->cTel}Tel: {$Bestellung->Lieferadresse->cTel} {/if}{if $Bestellung->Lieferadresse->cMobil}Mobil: {$Bestellung->Lieferadresse->cMobil} {/if}{if $Bestellung->Lieferadresse->cFax}Fax: {$Bestellung->Lieferadresse->cFax} {/if}{if $Bestellung->Lieferadresse->cMail}Email: {$Bestellung->Lieferadresse->cMail} {/if} {/if} You have chosen the following shipping option: {$Bestellung->cZahlungsartName} JTL-SOFTWARE GMBH 210 JTL-SHOP 2 {if $Bestellung->Zahlungsart->cModulId=="za_ueberweisung_jtl"} Please make the following banktransfer: Account owner:{$Firma->cKontoinhaber} bank:{$Firma->cBank} account No.:{$Firma->cKontoNr} BLZ:{$Firma->cBLZ} Purpose:{$Bestellung->cBestellNr} Total sum:{$Bestellung->WarensummeLocalized[0]} For international banktransfers: BIC:{$Firma->cBIC} IBAN:{$Firma->cIBAN} {elseif $Bestellung->Zahlungsart->cModulId=="za_nachnahme_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_kreditkarte_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_rechnung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_lastschrift_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_barzahlung_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_paypal_jtl"} {elseif $Bestellung->Zahlungsart->cModulId=="za_moneybookers_jtl"} {/if} Your order will be shipped on receipt of payment. If you have chosen cash on delivery, you will of course only pay on receipt of your goods. You will be notified about the following status of your order separately. Yours sincerely, {$Firma->cName} Kundengruppenzuweisung durch Shopbetreiber Deutsch JTL-SOFTWARE GMBH 211 JTL-SHOP 2 Betreff: Ihnen wurde die Kundengruppe #kundengruppe.name# bei #firma.name# zugewiesen HTML Inhalt: Sehr {if $Kunde->cAnrede=="Frau"}geehrte{else}geehrter{/if} {$Kunde->cAnrede} {$Kunde->cNachname},<br><br> wir haben Ihnen die Kundengruppe {$Kundengruppe->cName} in unserem Shop <a href="{$URL_SHOP}">{$Einstellungen.global.global_shopname}</a> zugewiesen. Dadurch erhalten Sie neue Einkaufkonditionen in unserem Shop {if $Kundengruppe->fRabatt>0}(wie etwa {$Kundengruppe->fRabatt|replace:".":","}% globaler Rabatt){/if}.<br><br> Wenn sie Fragen zu unserem Angebot oder speziellen Produkten haben, nehmen Sie einfach Kontakt mit uns auf. <br><br> Wir wünschen Ihnen viel Spaß beim Stöbern in unserem Sortiment. <br><br> Mit freundlichem Gruß <br><br> Ihr Team von {$Firma->cName} Text Inhalt: Sehr {if $Kunde->cAnrede=="Frau"}geehrte{else}geehrter{/if} {$Kunde->cAnrede} {$Kunde->cNachname}, wir haben Ihnen die Kundengruppe {$Kundengruppe->cName} in unserem Shop {$Einstellungen.global.global_shopname} ({$URL_SHOP}) zugewiesen. Dadurch erhalten Sie neue Einkaufkonditionen in unserem Shop {if $Kundengruppe->fRabatt>0}(wie etwa {$Kundengruppe->fRabatt|replace:".":","}% globaler Rabatt){/if}. Wenn sie Fragen zu unserem Angebot oder speziellen Produkten haben, nehmen Sie einfach Kontakt mit uns auf. Wir wünschen Ihnen viel Spaß beim Stöbern in unserem Sortiment. Mit freundlichem Gruß Ihr Team von {$Firma->cName} JTL-SOFTWARE GMBH 212 JTL-SHOP 2 Englisch Betreff: You are now #kundengruppe.name# at #firma.name# HTML Inhalt: Dear {$Kunde->cVorname} {$Kunde->cNachname}, <br><br> You now belong to our customer group: {$Kundengruppe->cName} in our webshop <a href="{$URL_SHOP}">{$Einstellungen.global.global_shopname}</a>. So you have now other price conditions {if $Kundengruppe->fRabatt>0}(for example {$Kundengruppe->fRabatt|replace:".":","}% global discount){/if}.<br><br> If you have any questions on our range or special products, please simply contact us. <br><br> We hope you will enjoy exploring our range of products. <br><br> Yours sincerely, <br><br> {$Firma->cName} Text Inhalt: Dear {$Kunde->cVorname} {$Kunde->cNachname}, You now belong to our customer group: {$Kundengruppe->cName} in our webshop {$Einstellungen.global.global_shopname} ({$URL_SHOP}). So you have now other price conditions {if $Kundengruppe->fRabatt>0}(for example {$Kundengruppe->fRabatt|replace:".":","}% global discount){/if}. If you have any questions on our range or special products, please simply contact us. We hope you will enjoy exploring our range of products. Yours sincerely, {$Firma->cName} JTL-SOFTWARE GMBH 213 JTL-SHOP 2 JTL-SOFTWARE GMBH 214 JTL-SHOP 2 © 2015 JTL-Software-GmbH Impressum Datenschutz AGB JTL-SOFTWARE GMBH 215