Deutsches Tutorial zum Shop System

Extension Key: tut_tt_products_de

Copyright 2005 <acherzog@web.de>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

Deutsches Tutorial zum Shop System	1

Tutorial	1

Seite für den Shop erstellen	2

Plugin tt_products einfügen	2

Seiten für den Shop erstellen	4

Plugin sr_feuser_register einfügen	4

Template für die Shopseite	5

Sysordner erstellen	6

Produkte und Artikel anlegen	7

Ausgangspunkt der Seite festlegen	9

Template, Setup und Constants anpassen	10

Browservorschau	32

Einzelansicht	32

Bildgröße festlegen	32

Navigation im Shop	36

Payment – Bezahlung	38

Der Shop im Frontend	38

Auftragsbestätigung	41

Tracking	42

FAQ	47

Zusatzinformationen	49

To do	49

Wünsche und Vorschläge an die Entwickler des Shopsystems	49

Tutorial

Inplementierung eines Shops am Beispiel eines Shops für Druckerzeugnisse. In diesem Beispiel wird ein Shopsystem installiert, im dem Interessenten Zeitschriften oder Broschüren bestellen zu können.

Installieren Sie zunächst die Extension 'Table Library' (table) und anschließend 'Shop system' (tt_products) aus dem Extension Repository jeweils in der letzten Version.

Sie benötigen außerdem die Extension sr_feuser_register zur Anmeldung an den Shop. Bitte informieren Sie sich über Anpassungen an dieser Extension in der zugehörigen Dokumentation.

Sie können Ihren Shop installieren, während Sie dieses Tutorial lesen. Das Tutorial ist so aufgebaut, dass Sie Ihren Shop Schritt für Schritt einrichten können. Beachten Sie, dass Sie die jeweils aktuelle Version der Extensions installieren müssen.

Stand dieses Tutorials ist der 09.12.05.

Besonderer Dank gilt Franz Holzinger, ohne dessen Unterstützung das Tutorial nicht in dieser Form zustande gekommen wäre.

Seite für den Shop erstellen

Erstellen Sie nun eine neue Seite für Ihren Shop.

Abbildung 1:

Plugin tt_products einfügen

Fügen Sie nun über 'Seiteninhalt anlegen' auf dieser Seite das Plugin Produkte ein.

Abbildung 2:

Wählen Sie nun entweder 'allgemeines Plugin'

Abbildung 3:

oder wählen Sie 'Produktliste' als neues Inhaltselement aus.

Abbildung 4:

Wählen Sie aus dem Drop-Down Menü 'Erweiterung:' die Erweiterung Produkte aus.

Abbildung 5:

Daraufhin öffnet sich folgendes Fenster, in dem Sie die Plugin Optionen einstellen können.

Für die Startseite des Shops wählen Sie 'Produkte:Liste', da die Produkte hier gelistet werden sollen. Da noch kein Sysordner angelegt wurde, kann im Moment noch keine Seite in das Feld 'Ausgangspunkt' eingetragen werden. Dies erfolgt in einem späteren Schritt.

Abbildung 6:

Seiten für den Shop erstellen

Auf die gleiche Art und Weise erstellen Sie nun weitere Seiten.

Für die Seite Warenkorb wählen Sie die Plugin Option Anzeigentyp: Warenkorb: Inhalt

Für die Seite Kasse wählen Sie die Plugin Option Anzeigentyp: Warenkorb: Eingabe Bezahlung

Für die Seite Bestätigung wählen Sie die Plugin Option Anzeigentyp: Warenkorb: Bestellung abschließen

Für die Seite Auftragsstatus wählen Sie die Plugin Option Anzeigentyp: Bestellung: Verwaltung

Für die Seite Benutzerregistrierung wählen Sie die Plugin Option Anzeigentyp: Warenkorb: Eingabe Kundendaten

Plugin sr_feuser_register einfügen

Auf der Seite Benutzerregistrierung müssen Sie nun, wie oben beschrieben, ein zweites Plugin einfügen:

Erstellen Sie nun einen weiteren Seiteninhalt und fügen Sie dort das Plugin für die Frontend Benutzer Registrierung ein. Wählen Sie aus der Liste der Erweiterungen 'Benutzer – Registrierung' aus und speichern Sie die Seite. Eine Dokumentation in englischer Sprache finden Sie unter Typo3.org, Documentation Matrix 'Front End User Registration'.

Abbildung 7: Template für die Shopseite

Erstellen Sie nun ein neues Template für Ihre Shopseite. Dazu klicken Sie auf Template im Web-Modul.

Sie erhalten dann folgende Information:

Abbildung 8:

Klicken Sie nun auf Constants, tragen den Pfad zum Template ein und klicken auf den Update-Button.

Abbildung 9: Klicken Sie “Click here to create an extension template” an.

Bitte gehen Sie hier sehr genau vor. Kopieren Sie ein Beispiel-Template Ihrer Wahl aus dem Verzeichnis ext/tt_products/templates in ein beliebiges Unterverzeichnis und unter einem anderen Namen. Das tragen Sie in den CONSTANTS-Bereich ein. Eine falsche Pfadangabe ist eine häufige Fehlerquelle.

Sysordner erstellen

Erstellen Sie nun eine neue Seite unterhalb Ihrer Shop-Seite. Der Kopf mit den beiden Pfeilen in Abb. 10 bedeutet in diesem Fall, dass die Shopseite in einem Bereich mit Zugriff nur für bestimmte Benutzergruppen eingerichtet wurde. Wenn der Shop sich im allgemeinen Bereich mit Zugriff für alle Benutzer befindet, werden der Kopf und die Pfeile nicht angezeigt.

Abbildung 10: Wählen Sie den Seitentyp 'Sysordner' für diese Seite aus. Wählen Sie als Seitentitel den Seitentitel 'Artikel' aus, da hier Ihre Produkte und Artikel angelegt werden. Klicken Sie anschließend auf Speichern.

Abbildung 11:

Produkte und Artikel anlegen

Sie können nun einen Datensatz, also ein Produkt oder einen Artikel anlegen. Klicken Sie auf 'Neuen Datensatz anlegen'.

Wählen Sie 'Produkte' aus und das Fenster zum Anlegen der Produkte öffnet sich.

An dieser Stelle ist es wichtig, sich den Unterschied zwischen Artikel und Produkt vor Augen zu führen. Ein Artikel ist eine Variante eines Produktes. Wenn Sie z. B. T-Shirts vertreiben, dann ist das T-Shirt mit dem V-Ausschnitt das Produkt. Der Artikel wäre dann das T-Shirt in unterschiedlicher Farbe und Größe. Das Produkt ist also ein Oberbegriff, wenn es mehrere Variationen davon gibt, spricht man hier von Artikeln. Wenn Sie keine Variationen haben, dann verwenden Sie nur Produkte, nicht Artikel. Achten Sie darauf, dass Sie 'Produkte Artikel' auswählen, wenn Sie Artikel anlegen und nicht 'Produkte'. Denn nur so können Sie für jede einzelne Variante einen eigenen Titel und Preise eingeben. Bitte verwechseln Sie das nicht mit den Kategorien. Denn die Kategorie ist wiederum die Produktgruppe. Im Beispiel wären das dann “alle T-Shirts” oder “Bekleidung”. Je nachdem, wie Sie Ihre Produkte kategorisieren möchten.

Abbildung 12: Unterhalb des Feldes 'Faktor für Maßeinheit' gibt es noch weitere Felder für Bemerkungen und zum Einfügen von Bildern. Legen Sie nun Ihr Produkt an.

Hier können Sie Ihre Produkte eingeben und speichern. Bitte nehmen Sie hier keine Eintragungen in den als Variante 1-4 ausgewiesenen Feldern vor.

Diese Felder betreffen die Artikel - Artikel sind keine Produkte, sondern Variationen von Produkten.

Wenn ein Produkt angelegt wird (T-Shirt mit V-Ausschnitt), speichern Sie dies als Produkt ab.

Wenn Sie dieses T-Shirt in den Größen 'Groß', 'Mittel' und 'Klein' zu verschiedenen Preisen verkaufen wollen, dann legen Sie dazu Artikel an, nämlich diese drei Größen. Wenn Sie also 'Datensatz anlegen', 'Produkte Artikel' auswählen, geben Sie dort alles ein und über die Auswahlbox 'Produkt' wählen Sie dann das Produkt T-Shirt mit V-Ausschnitt aus. Außerdem kann man hier noch die Farbe, oder was auch immer gewünscht ist, angeben.

Das zunächst angelegte Produkt T-Shirt mit V-Ausschnitt, dem ja keine Variationen übergeben wurden, überschreiben Sie mit den neuen Angaben.

D. h. eigentlich ist das Produkt quasi das Elternelement. Die Grund-Eigenschaften werden auf den Artikel vererbt.

Wenn Sie das Shirt also in 10 Farben und 3 Größen haben, sind das ein Produkt und 30 Artikel.

Die Angaben in der Artikeltabelle haben Vorrang vor den Einträgen in der Produktetabelle. Nur die Einträge, die in der Produkttabelle stehen, aber nicht in der Artikeltabelle, werden dann für jeden Artikel zu diesem Produkt zugewiesen.

Abbildung 13:

Nachdem Sie Ihre Produkte angelegt und gespeichert haben, erhalten Sie folgende Ansicht:

Abbildung 14:

Ausgangspunkt der Seite festlegen

Bitte gehen Sie jetzt wieder zu Ihrer ersten Shop-Seite und wählen Bearbeiten (Bleistiftsymbol) aus.

Abbildung 15:

Tragen Sie jetzt in das Feld Ausgangspunkt den eben erstellten Sysordner namens Artikel ein.

Abbildung 16:

Template, Setup und Constants anpassen

Sie müssen nun das Shop-Template und die Setup und Constant-Dateien Ihres Shops anpassen. In diesem Beispiel ist folgendes Template genutzt und angepasst worden. Kommentare zu den einzelnen Subparts sind im Template eingefügt. Sie können es so übernehmen, müssen aber die Bereiche, die Links enthalten definitiv an Ihre URL und Seiten- Ids anpassen. Wenn Sie Größen der Tabellen etc. ändern möchten, müssen Sie dies ebenfalls im Template tun. Um die Farben – im Beispiel hell- und dunkelgraue Balken zu ändern, nutzen Sie bitte den Constant – Editor in gewohnter Weise.

Bearbeiten Sie das Template im Editor und speichern es unter dem Namen products_eur.tmpl. Wählen Sie im Webmodul von Typo3 'Dateiliste' aus, laden Sie das Template in das gewünschte Verzeichnis und speichern es ab. Tragen Sie das Template wie im Kapitel 'Template für die Shopseite' beschrieben in die Constants ein.

Wenn Sie eine älterne Version des Shops einsetzen, beachten Sie bitte diesen Marker name=”###FIELD_NAME###” im Basket-Template-Bereich des Templates. In älteren Versionen ersetzen Sie ihn bitte nur innerhalb des ###BASKET-TEMPLATE###-Bereichs duch ###FIELD_NAME_BASKET###"

Im folgenden das Beispiel-Template. Bitte beachten Sie, dass dieses Template an meine Anforderungen angepasst ist.

So sind verschiedene Bereiche auskommentiert, die Sie vielleicht nutzen möchten. Im Beispieltemplate sind das u. a. das Tracking (wird gar nicht genutzt. Der Bestellende sowie der Admin erhalten jeweils eine Nachricht über die eingegangene Bestellung.) und Payment (hier wird keine Liefer- oder Zahlungsart zur auswahl angeboten, sondern nur per Rechung versendet). Die Bereiche sind im Tutorial beschrieben und müssen lediglich wieder einkommeniert werden.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<TITLE>Template f&uuml;r tt_products, DE</TITLE>

</head>

<body>

<H1>PRODUCT TEMPLATES</H1>

<h2>EXAMPLE</h2>

<HR>

<h3>ITEM_LIST_TEMPLATE</h3>

<em>This subpart is used to display the regular list of products. It's also used by search-results.</em>

<!-- ###ITEM_LIST_TEMPLATE### begin

Dieser Subpart wird genutzt, um die regul&auml;re Produktliste anzuzeigen. Es wird ebenfalls f&uuml;r die Suchergebnisse benutzt.

-->

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<tr>

<td><!--###LINK_PREV###-->###GW2B###<div align="left">

<b>Vorige Seite</b></div>###GW2E###<!--###LINK_PREV###--></td>

<td></td>

<td></td>

<td><!--###LINK_NEXT###-->###GW2B###<div align="right"><b>N&auml;chste

Seite</b></div>###GW2E###<!--###LINK_NEXT###--></td>

</tr>

<tr>

<td><img src="clear.gif" width="100" height="1"></td>

<td><img src="clear.gif" width="5" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template.

Dort ist die Breite 300

-->

<td><img src="clear.gif" width="200" height="1"></td>

<td><img src="clear.gif" width="100" height="1"></td>

</tr>

<!-- ###ITEM_CATEGORY_AND_ITEMS### begin -->

<!-- ###ITEM_CATEGORY### begin -->

<tr>

<td colspan="4">###GW1B###<font size="3">

<strong>###CATEGORY_TITLE###</strong></font> ###GW1E###</td>

</tr>

<!-- ###ITEM_CATEGORY### end -->

<!-- ###ITEM_LIST### begin -->

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Produkte:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Anzahl:</b>###GW2E###</td>

</tr>

<tr>

<td colspan="4"><img src="clear.gif" width="1" height="6"></td>

</tr>

<!-- ###ITEM_SINGLE### begin-->

<tr>

<td colspan="4">

<FORM method="post" action="###FORM_URL###" name="###FORM_NAME###">

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<tr>

<td><img src="clear.gif" width="100" height="1"></td>

<td><img src="clear.gif" width="5" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 300

-->

<td><img src="clear.gif" width="200" height="1"></td>

<td><img src="clear.gif" width="100" height="1"></td>

</tr>

<tr>

<td colspan="4"><img src="clear.gif" width="1" height="6"></td>

</tr>

<tr>

<td colspan="4" bgcolor="###GC1###">

<!--###LINK_ITEM###-->###GW1B###<b>###PRODUCT_TITLE###</b>

<!--###LINK_ITEM###--><br />###PRODUCT_SUBTITLE######GW1E###</td>

</tr>

<TR>

<TD valign="top">###PRODUCT_IMAGE###</TD>

<td></td>

<TD valign="top">###GW2B######PRODUCT_NOTE######GW2E###<br />

###GW1B###<B>Web-Preis:</b> <font color=red>

<strong>###PRICE_TAX### Euro</strong></font>###GW1E###<br />

###GW2B###(Netto: ###PRICE_NO_TAX###)###GW2E###

</TD>

<!--<TD valign=top nowrap align=right>###GW2B### Anzahl: ###GW2E###

<INPUT size="3" maxlength="4" type="text" name="###FIELD_NAME###"

value="###FIELD_QTY###"><br />

<input type="Submit" name="order" value="In den Warenkorb"

onClick="if

(!document.forms['###FORM_NAME###']['###FIELD_NAME###'].value!='')

{document.forms['###FORM_NAME###']['###FIELD_NAME###'].value=1;};">

</TD>-->

<TD valign="top" nowrap align="right">###GW2B### Anzahl: ###GW2E###

<INPUT size="3" maxlength="4" type="text" name="###FIELD_NAME###"

value="###FIELD_QTY###"><br />

<input type="Submit" name="order" value="In den Warenkorb"

onClick="self.location.href='index.php?id=552'"></TD>

</TD>

</TR>

</form>

<tr>

<td>&nbsp;</td>

</tr>

<tr>

<!-- für den IE ist hier die Breite angegeben, hilft aber auch nicht-->

<td width="100">

<form>

<input type="button" name="warenkorb" value="Warenkorbinhalt ansehen"

onclick="self.location.href='index.php?id=585'"></TD>

</tr>

</TABLE>

</FORM>

</td>

</tr>

<!-- ###ITEM_SINGLE### end -->

<!-- ###ITEM_LIST### end -->

<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->

<tr>

<td><!--###LINK_PREV###-->###GW2B###<div align="left"><b>Vorige

Seite</b></div>###GW2E###<!--###LINK_PREV###--></td>

<td></td>

<td></td>

<td><!--###LINK_NEXT###-->###GW2B###<div align="right"><b>N&auml;chste

Seite</b></div>###GW2E###<!--###LINK_NEXT###--></td>

</tr>

</TABLE>

<!-- ###ITEM_LIST_TEMPLATE### end -->

<HR>

<h3>ITEM_SINGLE_DISPLAY</h3>

<em>Dieser Subpart wid genutzt, um die Einzelansicht des Produkts anzuzeigen.</em>

<!-- ###ITEM_SINGLE_DISPLAY### begin

Dieser Subpart wid genutzt, um die Einzelansicht des Produkts anzuzeigen.

-->

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<FORM method="post" action="###FORM_URL###" name="single">

<tr>

<td><img src="clear.gif" width="100" height="1"></td>

<td><img src="clear.gif" width="5" height="1"></td>

<td><img src="clear.gif" width="300" height="1"></td>

</tr>

<tr>

<td colspan=3><img src="clear.gif" width="1" height="6" ></td>

</tr>

<tr>

<td colspan="3" bgcolor="###GC1###">

<!--###LINK_ITEM###-->###GW1B###<b>###PRODUCT_TITLE###</b>###GW1E###

<!--###LINK_ITEM###--></td>

</tr>

<TR>

<TD valign="top">###PRODUCT_IMAGE###</TD>

<td></td>

<TD valign="top">

###GW1B###

<B>Kategorie:</B> ###CATEGORY_TITLE### <br />

<B>Artikel-Nummer:</B> ###PRODUCT_ITEMNUMBER### <br />

<B>Web-Preis:</B> <font color=red><strong>###PRICE_TAX###

Euro</strong></font><br />###GW2B### &nbsp;

(Netto: ###PRICE_NO_TAX###)###GW2E###<br />

<br />

<B>Info:</B><br />

###PRODUCT_NOTE###

###GW1E###

<nobr>###GW2B### Anzahl: ###GW2E###

<INPUT size="3" maxlength="4" type="text" name="###FIELD_NAME###"

value="###FIELD_QTY###"> &nbsp; <input type="Submit" name="order"

value="In den Warenkorb"

onClick="if(!document.forms[0]['###FIELD_NAME###'].value!='')

{document.forms[0]['###FIELD_NAME###'].value=1;};"></nobr>

</TD>

</TR>

</form>

</TABLE>

###GW2B###

<!--###LINK_ITEM###-->

<b><- zurück</b>

<!--###LINK_ITEM###-->

###GW2E###

<!-- ###ITEM_SINGLE_DISPLAY### end -->

<HR>

<h3>ITEM_SEARCH</h3>

<em>Subpart for the search-form.</em>

<!-- ###ITEM_SEARCH### begin

Subpart for the search-form - Bereich für die Suche. -->

<FORM method="post" action="###FORM_URL###">

<INPUT size="30" maxlength="100" type="text" name="swords" value="###SWORDS###">

<input type="Submit" name="order" value="Suchen">&nbsp;&nbsp;&nbsp;&nbsp;

<a href="index.php?id=583" class="menue">Zurück zur Gesamtliste</a>

<!--<input type="Submit" name="order" value="zurück zur Gesamtliste" onClick="this.location.href=index.php?id=583">-->

</form>

<!-- ###ITEM_SEARCH### end -->

<HR>

<h3>ITEM_SEARCH_EMPTY</h3>

<em>Subpart displayed if the search was empty. If the search was successfull, the ITEM_LIST_TEMPLATE in the top is used.</em>

<!-- ###ITEM_SEARCH_EMPTY### begin

Subpart wird angezeigt, wenn die Suche leer ist. Wenn die Suche erfolgreich war, wird die ITEM_LIST_TEMPLATE oben genutzt.

-->

###GW1B###<B>Es wurden keine Einträge gefunden, die mit dem eingegebenen Suchbegriff übereinstimmen. <br /><br />Versuchen Sie es bitte mit einem anderen Begriff.<br /><br /><br /></B>###GW1E###

<!--Formular auch auf der Seite, auf der angezeigt wird, dass die Suche nicht erfolgreich war.

-->

<FORM method="post" action="###FORM_URL###">

<INPUT size="30" maxlength="100" type="text" name="swords" value="">

<input type="Submit" name="order" value="Suchen"><br /><br />

<a href="index.php?id=583" class="menue">Zurück zur Gesamtliste</a>

</form>

<!-- ###ITEM_SEARCH_EMPTY### end -->

<HR>

<h3>BASKET_TEMPLATE</h3>

<em>

Subpart used to display the content of the shopping basket.

The product list part has the exact same features as the regular LIST_ITEM_TEMPLATE subpart.

In addition there's a number of fields used for delivery and payment information.

</em>

<!-- ###BASKET_TEMPLATE### begin

Subpart, zur Anzeige des Inhalts des Warenkorbes.

Der Bereiche Produkt Liste hat exakt die gleichen Features wie das regul&auml;re Subpart LIST_ITEM_TEMPLATE.

Au&szlig;erdem sind hier eine Anzahl von Feldern f&uuml;r die Liefer- und Zahlungsinformationen.

-->

###EXTERNAL_COBJECT###

<FORM method="post" action="###FORM_URL###">

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<tr>

<td><img src="clear.gif" width="150" height="1"></td>

<td><img src="clear.gif" width="5" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 200-->

<td><img src="clear.gif" width="50" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 200: Colspan ist 3!!! also die width=3x-->

<td colspan="3"><img src="clear.gif" width="10" height="1"></td>

</tr>

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Produkt:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Preis:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Menge:</b>###GW2E###</td>

<td align="right" bgcolor="###GC2###">###GW2B###<b>Total:</b>###GW2E###</td>

</tr>

<!-- ###ITEM_CATEGORY_AND_ITEMS### begin -->

<!-- ###ITEM_CATEGORY### begin -->

<tr>

<td colspan="6">###CATEGORY_TITLE###

</td>

</tr>

<!-- ###ITEM_CATEGORY### end -->

<!-- ###ITEM_LIST### begin -->

<!-- ###ITEM_SINGLE### begin-->

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="6"></td>

</tr>

<TR>

<TD valign="top">###PRODUCT_IMAGE###</TD>

<td></td>

<TD valign="top">

<!--###LINK_ITEM###-->###GW1B###<b>###PRODUCT_TITLE###</b>###GW1E###<!--###LINK_ITEM###

-->

</TD>

<td valign="top">###GW1B### ###PRICE_TAX### ###GW1E###</td>

<TD valign="top"><INPUT size="3" maxlength="4" type="text"

name="###FIELD_NAME_BASKET###" value="###FIELD_QTY###">&nbsp;</TD>

<td valign="top" align="right">###GW1B### <b>###PRICE_TOTAL_TAX###</b>

###GW1E###</td>

</TR>

<!-- ###ITEM_SINGLE### end -->

<!-- ###ITEM_LIST### end -->

<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Lieferung:</b>###GW2E###</td>

<td colspan="3"></td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="6"></td>

</tr>

<!--<TR>

<td colspan="5">

###GW1B###Art der Lieferung: <b>###SHIPPING_TITLE###</B><br />###GW1E###

###SHIPPING_SELECTOR###

auskommentiert, da kein Bild###SHIPPING_IMAGE###

</td>

<td valign=top align=right>###GW1B### <b>###PRICE_SHIPPING_TAX###</b>

(###PRICE_SHIPPING_NO_TAX###) ###GW1E###</td>

</TR>-->

<TR>

<td colspan="5">

###GW1B###<b>Art der Lieferung:</B><br />###GW1E###

<!--###SHIPPING_SELECTOR###-->

<!-- auskommentiert, da kein Bild###SHIPPING_IMAGE###-->

</td>

<tr>

<td colspan="3">###GW2B###Post oder Paketdienst</td>

<!--

<td valign=top align=right>###GW1B### <b>###PRICE_SHIPPING_TAX###</b> (###PRICE_SHIPPING_NO_TAX###) ###GW1E###</td>

</TR>-->

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<!--<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Art der

Bezahlung:</b>###GW2E###</td>

<td colspan="3"></td>-->

</tr>

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Art der Bezahlung:</b></td>

</tr>

<tr>

<td colspan="3">###GW2B###Wir liefern ausschlie&szlig;lich gegen Rechnung. Die

Preise verstehen sich zuz&uuml;glich Porto und Verpackung.</td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="6"></td>

</tr>

<TR>

<td colspan="5">

###GW1B###

<!--###PAYMENT_SELECTOR###-->

###GW1E###

###GW2B###

<!-- ###MESSAGE_PAYMENT### begin

This whole subpart, message_payment is substituted with the subpart 'message_payment_[number-of-method-in-typoscript]'

-->

<!-- ###MESSAGE_PAYMENT_10### begin -->

<!--<B>You can use international Mastercards ONLY in our shop!</b>-->

<!-- ###MESSAGE_PAYMENT_10### end -->

<!-- ###MESSAGE_PAYMENT### end -->

###GW2E###

</td>

<!--<td valign="top" align="right">###GW1B### <b>###PRICE_PAYMENT_TAX###</b>

(###PRICE_PAYMENT_NO_TAX###) ###GW1E###</td>-->

</TR>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="6" bgcolor="###GC2###">###GW2B###<b>Gesamt:</b>###GW2E###</td>

</tr>

<TR>

<td valign="top" colspan="5"></td>

<td valign="top" align="right" nowrap>###GW1B### <b>EURO

###PRICE_TOTAL_TAX###</b><br />

(Netto: ###PRICE_TOTAL_NO_TAX###) ###GW1E###</td>

</TR>

</TABLE>

<input type="hidden" name="mode_update" value="1">

<input type="Submit" name="products_update" value="Warenkorb aktualisieren"

onClick="document.forms[0].action='###FORM_URL_BASKET###';">&nbsp;&nbsp;

<!--<input type="Submit" name="products_info" value="Zur Bestellung" onClick="document.forms[0].action='###FORM_URL_INFO###';">-->

<input type="Submit" name="products_info" value="Zur Bestellung"

onClick="document.forms[0].action='###FORM_URL_INFO###';">

</FORM>

<!-- ###BASKET_TEMPLATE### end -->

<HR>

<h3>BASKET_INFO_TEMPLATE</h3>

<em>

Subpart used if the GPvar "products_info" was set. This is normally used to let people enter address information separately from the real basket.

Exact same features as BASKET_TEMPLATE

</em>

<!-- ###BASKET_INFO_TEMPLATE### begin

Subpart wird genutzt, wenn GPvar "products_info" gesetzt wurde. Es wird normalerweise genutzt, damit der Besucher Adressinformationen getrennt vom echten Warenkorb eintragen kann

Genau das gleiche Feature, wie BASKET_TEMPLATE

-->

<FORM method="post" action="###FORM_URL###">

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<tr>

<td><img src="clear.gif" width="150" height="1"></td>

<td><img src="clear.gif" width="5" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 200-->

<td><img src="clear.gif" width="50" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 200. Achtung, colspan ist 3 also 3xwidth-->

<td colspan=3><img src="clear.gif" width="10" height="1"></td>

</tr>

<tr>

<td colspan="6"bgcolor="###GC2###">

###GW2B###<b>Rechnungsadresse:</b>###GW2E###</td>

</tr>

<tr>

<td colspan="6">

<!-- ###BILLING_ADDRESS### start -->

###GW1B###

<br />Bitte tragen Sie hier Ihre <b>Postanschrift</b> ein. Diese Daten werden

als K&auml;uferadresse in Ihre Rechnung &uuml;bernommen.

Sofern nicht anders angegeben, ist diese Adresse auch die Lieferanschrift. Falls

abweichend k&ouml;nnen Sie hier Ihre Lieferanschrift eintragen.

Wenn Sie "Selbstabholer" ausw&auml;hlen, werden Ihre Waren

selbstverst&auml;ndlich nicht versandt. <br /><br />

###GW1E###

<table>

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Ihre

Postanschrift:</b>###GW2E###</td>

<td colspan="3"></td>

</tr>

<tr>

<td>###GW1B###<strong>Name/Firma: </strong>*###GW1E###</td>

<td><input type="text" name="recs[personinfo][name]" size="30"

value="###PERSON_NAME###"></td>

</tr>

<tr>

<td>###GW1B###<strong>Adresse: </strong>*###GW1E###</td>

<td><textarea cols=30 rows=5 name="recs[personinfo][address]"

wrap="off">###PERSON_ADDRESS###</textarea></td>

</tr>

<tr>

<td>###GW1B###<strong>Telefon: </strong>*###GW1E###</td>

<td><input type="text" name="recs[personinfo][telephone]" size="30"

value="###PERSON_TELEPHONE###"></td>

</tr>

<tr>

<td>###GW1B###<strong>Email:</strong>###GW1E###</td>

<td><input type="text" name="recs[personinfo][email]" size="30"

value="###PERSON_EMAIL###"></td>

</tr>

</table>

###GW1B###

<em>Bitte beachten Sie: Felder mit einem * sind Pflichtfelder!</em>

###GW1E###

<!-- ###BILLING_ADDRESS### end-->

<!-- ###BILLING_ADDRESS_LOGIN### start

If this part is not empty then this will be used instead of BILLING_ADDRESS if there is a FE-login user.

-->

<table>

<tr>

<td>###GW1B###<strong>Name/Firma:</strong>###GW1E###</td>

<td>###GW1B######PERSON_NAME######GW1E###</td>

</tr>

<tr>

<td>###GW1B###<strong>Briefanschrift:</strong>###GW1E###</td>

<td>###GW1B######PERSON_ADDRESS_DISPLAY######GW1E###</td>

</tr>

<tr>

<td>###GW1B###<strong>Telefon:</strong>###GW1E###</td>

<td>###GW1B######PERSON_TELEPHONE######GW1E###</td>

</tr>

<tr>

<td>###GW1B###<strong>Email:</strong>###GW1E###</td>

<td>###GW1B######PERSON_EMAIL######GW1E###</td>

</tr>

</table>

<!-- ###BILLING_ADDRESS_LOGIN### end-->

</td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Abweichende

Lieferanschrift:</b>###GW2E###</td>

<td colspan="3"></td>

</tr>

<tr>

<td colspan="3">

###GW1B###

Wenn die Lieferanschrift nicht die Rechnungsanschrift ist, tragen Sie hier bitte

die Lieferanschrift und den Ansprechpartner ein.

###GW1E###

<table>

<tr>

<td>###GW1B###<strong>Name/Firma:</strong>###GW1E###</td>

<td><input type="text" name="recs[delivery][name]" size="30"

value="###DELIVERY_NAME###"></td>

</tr>

<tr>

<td>###GW1B###<strong>Adresse:</strong>###GW1E###</td>

<td><textarea cols=30 rows=5 name="recs[delivery][address]"

wrap="off">###DELIVERY_ADDRESS###</textarea></td>

</tr>

<tr>

<td>###GW1B###<strong>Telefon:</strong>###GW1E###</td>

<td><input type="text" name="recs[delivery][telephone]" size="30"

value="###DELIVERY_TELEPHONE###"></td>

</tr>

<tr>

<td>###GW1B###<strong>Email:</strong>###GW1E###</td>

<td><input type="text" name="recs[delivery][email]" size="30"

value="###DELIVERY_EMAIL###"></td>

</tr>

</table>

</td>

<td colspan="3"></td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<!--<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Bitte

beachten:</b>###GW2E###</td>

<td colspan="3"></td>

</tr>

<tr>

<td colspan="3">

###GW1B###

Wenn Sie spezielle W&uuml;nsche zu Ihrer Bestellung haben, tragen Sie diese bitte

hier ein:

###GW1E###

<table>

<tr>

<td>###GW1B###Kommentar:###GW1E###</td>

<td><textarea cols=30 rows=5

name="recs[delivery][note]">###DELIVERY_NOTE###</textarea></td>

</tr>

</table>

</td>

<td colspan=3></td>

</tr>-->

</TABLE>

<input type="Submit" name="products_basket" value="zur&uuml;ck zum Warenkorb">&nbsp;&nbsp;

<input type="Submit" name="products_payment" value="zur Kasse" onClick="document.forms[0].action='###FORM_URL_PAYMENT###">

</FORM>

<!-- ###BASKET_INFO_TEMPLATE### end -->

<HR>

<h3>BASKET_PAYMENT_TEMPLATE</h3>

<em>

Subpart used if the GPvar "products_payment" was set. This displays the final information about the order before the payment is initiated.

Exact same features as BASKET_TEMPLATE

</em>

<!-- ###BASKET_PAYMENT_TEMPLATE### begin

Subpart wird genutzt, wenn GPvar "products_payment" gesetzt wurde. Es zeigt die endg&uuml;ltigen Informationen &uuml;ber die Bestellung, bevor die Bezahlung initiiert wurde.

Exakt das gleiche Feature wie BASKET_TEMPLATE

-->

###EXTERNAL_COBJECT###

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<tr>

<td><img src="clear.gif" width=150 height="1"></td>

<td><img src="clear.gif" width=5 height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 200

-->

<td><img src="clear.gif" width=50 height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite 200. Achtung colspan ist 3, also width x 3

-->

<td colspan="3"><img src="clear.gif" width="10"height="1"></td>

</tr>

<tr>

<td colspan="3"bgcolor="###GC2###">###GW2B###<b>Produkt:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Preis:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Menge:</b>###GW2E###</td>

<td align="right" bgcolor="###GC2###">###GW2B###<b>Gesamt:</b>###GW2E###</td>

</tr>

<!-- ###ITEM_CATEGORY_AND_ITEMS### begin -->

<!-- ###ITEM_CATEGORY### begin -->

<tr>

<td colspan="6" >###CATEGORY_TITLE###

</td>

</tr>

<!-- ###ITEM_CATEGORY### end -->

<!-- ###ITEM_LIST### begin -->

<!-- ###ITEM_SINGLE### begin-->

<tr>

<td colspan="6" ><img src="clear.gif" width="1" height="6" ></td>

</tr>

<TR>

<TD valign=top>###PRODUCT_IMAGE###</TD>

<td></td>

<TD valign=top>

###GW1B###<b>###PRODUCT_TITLE###</b>###GW1E###

</TD>

<td valign=top>###GW1B### ###PRICE_TAX### ###GW1E###</td>

<TD valign=top>###GW1B### ###FIELD_QTY### ###GW1E###</TD>

<td valign=top align=right>###GW1B### <b>###PRICE_TOTAL_TAX###</b>

###GW1E###</td>

</TR>

<!-- ###ITEM_SINGLE### end -->

<!-- ###ITEM_LIST### end -->

<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->

<tr>

<td colspan="6" ><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3"bgcolor="###GC2###">

###GW2B###<b>Rechnungsadresse:</b>###GW2E###</td>

<td colspan=3></td>

</tr>

<tr>

<td colspan=3>

<table cellspacing=3>

<tr>

<td>###GW1B###Name/Firma:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_NAME###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Adresse:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_ADDRESS_DISPLAY###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Telefon:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_TELEPHONE###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Email:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_EMAIL###</strong>###GW1E###</td>

</tr>

</table>

</td>

<td colspan=3></td>

</tr>

<tr>

<td colspan="6" ><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3"bgcolor="###GC2###">

###GW2B###<b>Lieferanschrift:</b>###GW2E###</td>

<td colspan=3>&nbsp;</td>

</tr>

<tr>

<td colspan="3">

<table>

<tr>

<td>###GW1B###Adresse:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_ADDRESS_DISPLAY###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Kontaktperson:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_NAME###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Telefon:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_TELEPHONE###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Email:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_EMAIL###</strong>###GW1E###</td>

</tr>

<tr>

<td colspan="2">###GW2B###(Diese Adresse erhält die

Auftragsbestätigung!)###GW2E###

</tr>

</table>

</td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<!--<tr>

<td colspan="3"bgcolor="###GC2###">###GW2B###<b>Bitte

beachten:</b>###GW2E###</td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="3">

<table>

<tr>

<td>###GW1B###Kommentar:###GW1E###</td>

td>###GW1B###<strong>###DELIVERY_NOTE_DISPLAY###</strong>###GW1E###</td>

</tr>

</table>

</td>

<td colspan="3">&nbsp;</td>

</tr>-->

<tr>

<td colspan="6" ><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3"

bgcolor="###GC2###">###GW2B###<b>Lieferung/Zahlung:</b>###GW2E###</td>

<td colspan=3>&nbsp;</td>

</tr>

<TR>

<td valign="top" colspan="3">###GW1B###

<strong>Liefermethode:</strong><br />

<!-- Bild f&uuml;r die Liefermethode (default, ein K&auml;ngeru), da keine K&auml;ngerus liefern, hier auskommentiert

###SHIPPING_IMAGE###--> ###SHIPPING_TITLE###

###GW1E###</td>

<!--<td valign="top" align="right" colspan="3">###GW1B###

<b>###PRICE_SHIPPING_TAX###</b>

(###PRICE_SHIPPING_NO_TAX###)

###GW1E###</td>-->

</TR>

<TR>

<td valign="top" colspan="3">###GW1B###

<strong>Zahlungsmethode:</strong><br />

###PAYMENT_TITLE###

###GW1E###

###GW2B###

<!-- ###MESSAGE_PAYMENT###

This whole subpart, message_payment is substituted with the subpart 'message_payment_[number-of-method-in-typoscript]'

-->

<!-- ###MESSAGE_PAYMENT_10### begin -->

<!--<B>Wir liefern ausschlie&szlig;lich gegen Rechnung!</b> -->

<!-- ###MESSAGE_PAYMENT_10### end -->

<!-- ###MESSAGE_PAYMENT### -->

###GW2E###

</td>

<!--<td valign="top" align="right" colspan="3">###GW1B###

<b>###PRICE_PAYMENT_TAX###</b>

(###PRICE_PAYMENT_NO_TAX###)

###GW1E###</td>-->

</TR>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="6" bgcolor="###GC2###">###GW2B###<b>Gesamtpreis:</b>###GW2E###</td>

</tr>

<TR>

<td valign="top" colspan="3">###GW1B###<strong>Preis in

Euro:</strong>###GW1E###</td>

<td valign="top" align="right" colspan="3" nowrap>###GW1B###

<b>Euro ###PRICE_TOTAL_TAX###</b><br />

(Netto: ###PRICE_TOTAL_NO_TAX###)

###GW1E###</td>

</TR>

</TABLE>

<FORM method="post" action="###FORM_URL###">

<input type="Submit" name="products_basket" value="Zur&uuml;ck zum Warenkorb">&nbsp;&nbsp;

<input type="Submit" name="products_finalize" value="Bestellung versenden!" onClick="document.forms[0].action='###FORM_URL_FINALIZE###'; document.forms[0].target='###FORM_URL_TARGET###';">

</FORM>

<!-- ###BASKET_PAYMENT_TEMPLATE### end -->

<HR>

<h3>BASKET_ORDERCONFIRMATION_TEMPLATE</h3>

<em>

Subpart used if the GPvar "products_payment" was set. This displays the final information about the order before the payment is initiated.

Exact same features as BASKET_TEMPLATE

</em>

<!-- ###BASKET_ORDERCONFIRMATION_TEMPLATE### begin

Subpart used if the order is finalized and this is thus the confirmation shown.

-->

<TABLE border="0" cellspacing="0" cellpadding="1" width="1">

<tr>

<td><img src="clear.gif" width="150" height="1"></td>

<td><img src="clear.gif" width="5" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite

300-->

<td><img src="clear.gif" width="50" height="1"></td>

<!--Hier ist die Tabelle kleiner, als im Default Template. Dort ist die Breite

300-->

<td colspan=3><img src="clear.gif" width="130" height="1"></td>

</tr> <!-- Feste Größe, weil sonst die Preisspalte zu klein wäre -->

<tr>

<td colspan="6" >

###GW1B###

<b>Auftragsbestätigung:</b>

Vielen Dank für Ihre Bestellung!<br />

Ihre Bestellung ist vollständig und hat folgende Bestellnummer:<br /><br />

<div align="center"><B>###ORDER_UID###</B></div><br />

Bitte nutzen Sie die Bestellnummer als Referenz, wenn Sie uns kontaktieren.

<br/><br />

Die Auftragsbestätigung wurde per Email an die von Ihnen als Empfänger angegebene

Adresse versandt (###DELIVERY_EMAIL###).<br />

<br />Bitte drucken Sie diese Seite zur Prüfung Ihrer Bestellung aus.

<br /><br />

<!--auskommentiert, da keine Kreditkarten akzeptiert werden.

<!-- ###MESSAGE_PAYMENT###

This whole subpart, message_payment is substituted with the subpart

'message_payment_[number-of-method-in-typoscript]'

-->

<!-- ###MESSAGE_PAYMENT_10### begin

Message for payment method 10

-->

<!--<B>The Mastercard transaction was approved</B> and has the transaction number, ###TRANSACT_CODE###.

<!-- ###MESSAGE_PAYMENT_10### end -->

<!-- ###MESSAGE_PAYMENT_40### begin

Message for payment method 40, in this case not a credit card but plain ordering

-->

<!-- <B>Important! The next step:</B>

You have chosen to pay for your goods by a money transaction to our bank account. This is the information you need:

- Bank: Superbank Reg: <strong>xxxx</strong> Account: <strong>xxxxxxxx</strong>

- Cheque: Send the cheque to our postal address. See bottom of this page.

Remember to enter the order-number, ###ORDER_UID###, on the transaction! -->

<!-- ###MESSAGE_PAYMENT_40### -->

<!-- ###MESSAGE_PAYMENT_50### begin

Message for payment method 50, in this case the customer has chosed to by on credit.

-->

<!--<B>Credit</B>

You have the priviledge to be a good customer (you have a login...), so we'll give you credit - as you're used to...

<!-- ###MESSAGE_PAYMENT_50### -->

<!-- ###MESSAGE_PAYMENT### -->

<!-- <b>Liefer- und Bestellstatus</b><br />

Bestelldatum: ###ORDER_DATE###.

Sie k&ouml;nnen Ihre Bestelldaten verfolgen. Nutzen Sie dazu Ihre Tracking- Nummer:

<strong>###ORDER_TRACKING_NO###</strong>. Bitte klicken Sie auf den Link <a href="###DOMAIN###/index.php?id=554&type=1&tracking=###ORDER_TRACKING_NO###">um den Status anzusehen.</a>

###GW1E###

###EXTERNAL_COBJECT###	-->

</td>

</tr>

<!-- <tr>

<td colspan="3"bgcolor="###GC2###">###GW2B###<b>Produkt:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Preis:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Menge:</b>###GW2E###</td>

<td bgcolor="###GC2###">###GW2B###<b>Gesamt:</b>###GW2E###</td>

</tr> -->

<!-- ###ITEM_CATEGORY_AND_ITEMS### begin -->

<!-- ###ITEM_CATEGORY### begin -->

<!-- <tr>

<td colspan="6">###CATEGORY_TITLE###

</td>

</tr> -->

<!-- ###ITEM_CATEGORY### end -->

<!-- ###ITEM_LIST### begin -->

<!-- ###ITEM_SINGLE### begin-->

<!--<tr>

<td colspan="6"><img src="clear.gif" width="1" height="6"></td>

</tr>

<TR>

<TD valign=top>###PRODUCT_IMAGE###</TD>

<td>&nbsp;</td>

<TD valign="top">

###GW1B###<b>###PRODUCT_TITLE###</b>###GW1E###

</TD>

<td valign="top">###GW1B### ###PRICE_TAX### ###GW1E###</td>

<TD valign="top">###GW1B### ###FIELD_QTY### ###GW1E###</TD>

<td valign="top" align="right">###GW1B### <b>###PRICE_TOTAL_TAX###</b>

###GW1E###</td>

</TR> -->

<!-- ###ITEM_SINGLE### end -->

<!-- ###ITEM_LIST### end -->

<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->

<!-- <tr>

<td colspan="6" ><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3"

bgcolor="###GC2###">###GW2B###<b>Rechnungsadresse:</b>###GW2E###</td>

<td colspan=3>&nbsp;</td>

</tr>

<tr> -->

<td colspan="3">

<table>

<!-- <tr>

<td>###GW1B###Name/Firma:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_NAME###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Briefanschrift:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_ADDRESS_DISPLAY###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Telefon:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_TELEPHONE###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Email:###GW1E###</td>

<td>###GW1B###<strong>###PERSON_EMAIL###</strong>###GW1E###</td>

</tr> -->

<!-- ###FE_USER_SECTION### begin -->

<tr>

<td>###GW1B###Benutzername:###GW1E###</td>

<td>###GW1B###<strong>###FE_USER_USERNAME###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Benutzer ID:###GW1E###</td>

<td>###GW1B###<strong>###FE_USER_UID###</strong>###GW1E###</td>

</tr>

<!-- ###FE_USER_SECTION### end -->

</table>

</td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3"

bgcolor="###GC2###">###GW2B###<b>Lieferanschrift:</b>###GW2E###</td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="3">

<table>

<tr>

<td>###GW1B###Briefanschrift:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_ADDRESS_DISPLAY###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Kontakt:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_NAME###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Telefon:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_TELEPHONE###</strong>###GW1E###</td>

</tr>

<tr>

<td>###GW1B###Email:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_EMAIL###</strong>###GW1E###</td>

</tr>

</table>

</td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<!--<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Notizen:</b>###GW2E###</td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="3">

<table>

<tr>

<td>###GW1B###Kommentar:###GW1E###</td>

<td>###GW1B###<strong>###DELIVERY_NOTE_DISPLAY###</strong>###GW1E###</td>

</tr>

</table>

</td>

<td colspan="3">&nbsp;</td>

</tr>-->

<tr>

<td colspan="6"><img src="clear.gif" width="1" height="10"></td>

</tr>

<tr>

<td colspan="3" bgcolor="###GC2###">###GW2B###<b>Lieferung/Zahlung:</b><!--###GW2E###--></td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td valign="top" colspan="3">###GW1B###<strong>Liefermethode:&nbsp;</strong><!--###SHIPPING_IMAGE### Ist auskommentiert, da kein Bild-->###SHIPPING_TITLE### ###GW1E###</td>

<!--<td valign="top" align="right" colspan="3">###GW1B###

<b>###PRICE_SHIPPING_TAX###</b>(###PRICE_SHIPPING_NO_TAX###)###GW1E###</td>-->

</tr>

<tr>

<td valign="top" colspan="3">###GW1B###

<strong>Zahlungsmethode:</strong>

<!--auskommentiert, da hein Bild###PAYMENT_IMAGE###-->###PAYMENT_TITLE###

###GW1E###</td>

<!--<td valign="top" align="right" colspan="3">###GW1B###

<b>###PRICE_PAYMENT_TAX###</b>(###PRICE_PAYMENT_NO_TAX###)###GW1E###</td>-->

</tr>

<tr>

<td colspan="3"><img src="clear.gif" width="1" height="10"></td>

<td colspan="3">&nbsp;</td>

</tr>

<tr>

<td colspan="6" bgcolor="###GC2###">###GW2B###<b>Gesamt:</b>###GW2E###</td>

<!-- 6 damit die graue Linie über die ganze Seite geht -->

</tr>

<TR>

<td valign="top" colspan="3">###GW1B###<strong>Gesamtpreis in

Euro:</strong>###GW1E###</td>

<td valign="top" align="right" colspan="3">###GW1B###<b>EURO

###PRICE_TOTAL_TAX###</b><br />

(Netto: ###PRICE_TOTAL_NO_TAX###)###GW1E###</td>

</TR>

<tr>

<td colspan="6">

###GW1B###

Mit freundlichen Gr&uuml;&szlig;en:

<strong>Shop</strong><br />

Straße 6<br />

4000 Stadt<br />

Telefon: +49 (212) 12 34 56<br />

###GW1E###

</td>

</tr>

</TABLE>

<!-- ###BASKET_ORDERCONFIRMATION_TEMPLATE### end -->

<HR>

<h3>BASKET_TEMPLATE_EMPTY</h3>

<em>

If the basket is empty this subpart is displayed

</em>

<!-- ###BASKET_TEMPLATE_EMPTY### begin

Wenn der Warenkorb leer ist, wird dieser Subpart angezeigt.

-->

###GW1B###<B>Der Warenkorb ist leer.</B>###GW1E###

<!-- ###BASKET_TEMPLATE_EMPTY### end -->

<HR>

<h3>BASKET_REQUIRED_INFO_MISSING</h3>

<em>

If payment is initiated but the required information fields are not filled in correctly, this happens.

</em>

<!-- ###BASKET_REQUIRED_INFO_MISSING### begin

Wenn die Bestellung initiiert wurde, aber die Pflichtfelder nicht korrekt ausgef&uuml;llt wurden, erscheint diese Info.

Wenn in diesen Text noch der Marker ###ERROR_DETAILS### gesetzt ist, erscheint eine Fehlermeldung, bezogen auf das bestimmte Feld, das nicht ausgef&uuml;llt wurde. Sind es mehrere, bezieht sich die Meldung auf das erste Feld, das gefunden wird.-->

###GW1B###Sie haben nicht alle Felder des Registrierungsformulars korrekt

ausgef&uuml;llt. <br /><br />

<br />Bitte gehen Sie zur Adresseingabe und vervollst&auml;ndigen Ihre Daten.

<br /><br /> Vielen Dank.<br /><br />###GW1E###

<FORM method="post" action="###FORM_URL###">

<input type="Submit" name="products_info" value="Adresseingabe"

onClick="document.forms[0].action='###FORM_URL_INFO###';">

</FORM>

<!-- ###BASKET_REQUIRED_INFO_MISSING### end -->

<HR>

<h3>TRACKING_DISPLAY_INFO</h3>

<em>

Displays the view of the order status by tracking codes.

</em>

<!-- ###TRACKING_DISPLAY_INFO### begin

Displays the view of the order status by tracking codes.

Hier wird die Ansicht des Status des Trackings angezeigt.

-->

###GW1B###

<B>Ihre Bestellung (###ORDER_UID###) hat den folgenden Status:</B><br />

(Die letzte Zeile zeigt die letzte &Auml;nderung)<br /><br />

<table border="1" cellpadding=0 cellspacing=4>

<tr>

<td>###GW2B### <strong>Zeit:</strong> ###GW2E###</td>

<td>###GW2B### <strong>Code:</strong> ###GW2E###</td>

<td>###GW2B### <strong>Aktion:</strong> ###GW2E###</td>

<!--<td>###GW2B### <strong>Kommentar:</strong> ###GW2E###</td>

</tr>

<!-- ###STATUS_ITEM### begin

This part is repeated for each order status item and finally this part in the template code is substituted with the accumulated code for all order status actions.

-->

<tr>

<td nowrap valign=top>###GW2B### ###ORDER_STATUS_TIME### &nbsp;###GW2E###</td>

<td valign=top>###GW2B### ###ORDER_STATUS### &nbsp;###GW2E###</td>

<td nowrap valign=top>###GW2B### ###ORDER_STATUS_INFO### &nbsp;###GW2E###</td>

<td valign=top>###GW2B### ###ORDER_STATUS_COMMENT### &nbsp;###GW2E###</td>

</tr>

<!-- ###STATUS_ITEM### end -->

</table>

<br />

<!-- ###ADMIN_CONTROL### begin -->

<table border=0 cellpadding="1" cellspacing=0 bgcolor="black">

<tr>

<td>

<table border=0 cellpadding="10"cellspacing=0 bgcolor="#92AFCB">

<tr>

<td>

###GW1B### <strong>Shop ADMIN:</strong>

Bestellung: ####ORDER_UID###

###GW1B###

<!-- ###ADMIN_CONTROL_OK### begin -->

<FORM method="post" action="###FORM_URL###">

<select name="orderRecord[status][]" size="9" multiple>

###STATUS_OPTIONS###

</select>

###GW1B###Kommentar zum neuen Status:###GW1B###

<textarea cols="40" rows="5" name="orderRecord[status_comment]"></textarea>

<input type="hidden" name="tracking" value="###TRACKING_NUMBER###">

<input type="hidden" name="update_code" value="###UPDATE_CODE###">

<input type="Submit" name="submit" value="hinzufügen">

</FORM>

<hr>

Wechsel zu einer anderen Bestellung:

<FORM method="post" action="###FORM_URL###">

<select name="tracking" size="9">

###OTHER_ORDERS_OPTIONS###

</select>

<input type="Submit" name="submit" value="Select">

<input type="hidden" name="update_code" value="###UPDATE_CODE###">

</FORM>

<!-- ###ADMIN_CONTROL_OK### begin -->

<!-- ###ADMIN_CONTROL_DENY### begin -->

<FORM method="post" action="###FORM_URL###">

<input type="hidden" name="tracking" value="###TRACKING_NUMBER###">

###GW1B###Code:###GW1B###

<input type="password" size=40 name="update_code" value="###UPDATE_CODE###">

<input type="Submit" name="submit" value="Enter code">

</FORM>

<!-- ###ADMIN_CONTROL_DENY### begin -->

</td>

</tr>

</table>

</td>

</tr>

</table>

<!-- ###ADMIN_CONTROL### end -->

Wenn Sie Informationen &uuml;ber den jeweiligen Status Ihrer Bestellung an Ihre Emailadresse (###FIELD_EMAIL###) w&uuml;nschen, setzen Sie hier bitte einen Haken:

<FORM method="post" action="###FORM_URL###">

<input type="hidden" name="orderRecord[email_notify]" value="0">

<input type="checkbox" name="orderRecord[email_notify]"

value="1"###FIELD_EMAIL_NOTIFY###>Nachricht &uuml;ber den Stand der Bestellung.

<br />

<!--<input type="text" size=40 name="orderRecord[email]"

value="###FIELD_EMAIL###">-->

<input type="hidden" name="tracking" value="###TRACKING_NUMBER###"><br />

<!--<input type="Submit" name="submit" value="Update">-->

</FORM>

<strong>Nachricht an den Shop:</strong><br />

Sie k&ouml;nnen eine Nachricht, betreffend Ihrer Bestellung an den Shop senden.

<br />

<FORM method="post" action="###FORM_URL###">

<input type="hidden" name="tracking" value="###TRACKING_NUMBER###">

<br />

###GW1B###Betreff:###GW1B###

<select name="orderRecord[status][]" size="1">

<!-- NOTICE: The values/topics MUST correspond with those setup in the TypoScript of the shop! -->

<option value=51>Nachricht an den Shop</option>

<option value=50>Ich m&ouml;chte die Bestellung stornieren.</option>

</select>	<br /><br />

###GW1B###Kommentar:###GW1B###<br />

<textarea cols="40" rows="5" name="orderRecord[status_comment]"></textarea>

<input type="Submit" name="submit" value="senden"><br />

</FORM><br />

<B>Hier finden Sie nochmals Ihre Auftragsbestätigung:</B><br />

###GW1E###

<HR>

###ORDER_HTML_OUTPUT###

<!-- ###TRACKING_DISPLAY_INFO### end -->

<HR>

<h3>TRACKING_ENTER_NUMBER</h3>

<em>

Displays form for entering the tracking number.

</em>

<!-- ###TRACKING_ENTER_NUMBER### begin

Displays form for entering the tracking number.

-->

###GW1B###<B>Bitte geben Sie Ihren Tracking-Code ein:</B>###GW1E###

<FORM method="post" action="###FORM_URL###">

<input type="text" name="tracking">

<input type="Submit" name="submit" value="See status">

</FORM>

<!-- ###ADMIN_CONTROL### begin -->

<table border=0 cellpadding="1" cellspacing=0 bgcolor="black">

<tr>

<td>

<table border=0 cellpadding="10" cellspacing=0 bgcolor="#92AFCB">

<tr>

<td>

###GW1B### <strong>Shop ADMIN:</strong>

<!-- ###ADMIN_CONTROL_DENY### begin -->

<FORM method="post" action="###FORM_URL###">

###GW1B###Code:###GW1B###

<input type="password" size=40 name="update_code" value="">

<input type="Submit" name="submit" value="Enter code">

</FORM>

<!-- ###ADMIN_CONTROL_DENY### begin -->

</td>

</tr>

</table>

</td>

</tr>

</table>

<!-- ###ADMIN_CONTROL### end -->

<!-- ###TRACKING_ENTER_NUMBER### end -->

<HR>

<h3>TRACKING_WRONG_NUMBER</h3>

<em>

Displays error message if no tracking code.

</em>

<!-- ###TRACKING_WRONG_NUMBER### begin

Displays error message if no tracking code.

-->

###GW1B###<B>Der Tracking-Code existiert nicht! Bitte prüfen Sie Ihre Eingabe und versuchen es erneut!</B>###GW1E###

<FORM method="post" action="###FORM_URL###">

<input type="text" name="tracking">

<input type="Submit" name="submit" value="Status ansehen">

</FORM>

<!-- ###TRACKING_WRONG_NUMBER### end -->

<HR>

<h3>TRACKING_EMAILNOTIFY_TEMPLATE</h3>

<em>

Subpart used as template for the notify emails.

First line is used as subject for the mail.

</em>

<pre>

<!-- ###TRACKING_EMAILNOTIFY_TEMPLATE### begin

Subpart used as template for the notify emails

First line is used as subject for the mail.

-->

Shop - Status der Bestellung (####ORDER_UID###)

Bestell-Informationen (####ORDER_UID###):

Der Status Ihre Bestellung hat sich geändert:

Zeit: ###ORDER_STATUS_TIME###

Status: ###ORDER_STATUS_INFO###

Kommentar:

###ORDER_STATUS_COMMENT###

TRACKING:

Sie erhalten diese Email, weil Sie Informationen über den Status Ihrer Bestellung wünschen. Sie können den Status der Bestellung verfolgen. Nutzen Sie Ihren Tracking-Code:

###ORDER_TRACKING_NO###

Klicken Sie hier, um Ihre Informationen zu erhalten:

http://###DOMAIN###/index.php?id=588&type=0&tracking=###ORDER_TRACKING_NO###

Mit freundlichen Grüßen

Shop

<!-- ###TRACKING_EMAILNOTIFY_TEMPLATE### end -->

</pre>

<HR>

<h3>EMAIL_PLAINTEXT_TEMPLATE</h3>

<em>

Subpart used as template for the order-emails.

First line is used as subject for the mail.

</em>

<pre>

<!-- ###EMAIL_PLAINTEXT_TEMPLATE### begin

Subpart used as template for the order-emails

First line is used as subject for the mail.

-->

Shop - Ihre Bestellung ####ORDER_UID###

Auftragsbestätigung:

Vielen Dank für Ihre Bestellung!

Ihre Bestellung ist vollständig und hat folgende Bestellnummer:

###ORDER_UID###.

Bitte nutzen Sie die Bestellnummer als Referenz, wenn Sie uns kontaktieren.

Ihre Bestellung wird Ihnen vom Lieferanten direkt zugesandt.

BESTELLUNG:

1) Produkt:

<!-- ###ITEM_CATEGORY_AND_ITEMS### -->

<!-- ###ITEM_LIST### begin -->

<!-- ###ITEM_SINGLE### begin-->

Produktname: ###PRODUCT_TITLE###

Artikel-Nummer: ###PRODUCT_ITEMNUMBER###

Preis: ###PRICE_TAX### Euro

Menge: ###FIELD_QTY### = ###PRICE_TOTAL_TAX### EURO

<!-- ###ITEM_SINGLE### end -->

<!-- ###ITEM_LIST### end -->

<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->

2) Rechnungsadresse:

###PERSON_NAME###

###PERSON_ADDRESS###

Telefon: ###PERSON_TELEPHONE###

Email: ###PERSON_EMAIL###

3) Lieferadresse:

###DELIVERY_ADDRESS###

Name: ###DELIVERY_NAME###

Telefon: ###DELIVERY_TELEPHONE###

Email: ###DELIVERY_EMAIL###

5) Versand:

###SHIPPING_TITLE###

6) Zahlungsart:

###PAYMENT_TITLE###

Geamt: ________________________ Euro ###PRICE_TOTAL_TAX###

(Netto: ###PRICE_TOTAL_NO_TAX###)

Dieser Gesamtpreis versteht sich zuzüglich Porto und Verpackung.

Mit freundlichen Grüßen

Shop

<!-- ###EMAIL_PLAINTEXT_TEMPLATE### end -->

</pre>

</body>

</html>

Browservorschau

Wenn Sie Ihr Template angepasst haben und nun über das Icon mit der Lupe 'Speichern und Ansehen' auswählen, können Sie bereits die Produktlistenansicht in der Browservorschau sehen.

Abbildung 17:

Einzelansicht

Wenn nicht anders angegeben, erhalten Sie mit dem Klick auf den Link 'Report 1/05' die Einzelansicht ihres Artikels im gleichen Browserfenster. Auch diese Ansicht können Sie im Template im Bereich ###ITEM_SINGLE### individuell anpassen und für die Einzelansicht eine separate Seite auswählen.

Abbildung 18:

Bildgröße festlegen

Die Bildgrößen für Ihre Bilder legen Sie wie gewohnt im Constant Editor fest.

Abbildung 19:

Wenn Sie alle Änderungen vorgenommen haben, dann haben Sie nun einen lauffähigen Shop.

Allerdings sind für den täglichen Einsatz noch weitere Ergänzungen notwendig.

Setup

Es werden standardmäßig die Setup und Constants der Extension übernommen. Man kann diese Setup/Constants jetzt im Shop Template überschreiben. Bitte editieren Sie niemals die Dateien in der Extension tt_products selbst, weil sie bei einer Neuinstallation oder einem Update gelöscht, bzw. überschrieben werden!

Bitte beachten Sie auch, dass Ihr Template evtl. geringfügig angepasst werden muss, wenn eine neue Version des Shops mit neuen Features installiert werden soll. Bitte lesen Sie dazu die Dokumentation zu tt_products.

Nehmen Sie alle Änderungen in Setup und Constants Ihres Shop Templates vor.

Sie können das folgende Setup kopieren und in das Setup Ihres Shop Templates einfügen. Nehmen Sie dort die notwendigen Änderungen vor.

Erklärungen zu diesem Setup erhalten Sie weiter unten an den jeweils vom Setup betroffenen Stellen.

Hier folgt nun die Setup – Datei.

# Default PAGE object:

page = PAGE

page.typeNum = 0

page.stylesheet = fileadmin/style/style.css

plugin.tt_products.statusCodes >

plugin.tt_products {

statusCodes {

# 1: Eingehende Bestellung

1 = Bestellung

# 2-49: Nutzung durch Shopadmin

2 = Ihre Bestellung ist eingegangen

10 = Der Shop erwartet Waren eines Drittanbieters

11 = Der Shop erwartet Ihren Zahlungseingang

12 = Der Shop erwartet Ihre Materiallieferung

13 = Die Bestellung ist bezahlt

20 = Ihre Bestellung wurde versandt

21 = Geschenkgutscheine wurden versandt

30 = Die Waren mussten für Sie bestellt werden.

# 50-99: Nutzung durch den Kunden

# 50-59: Generelle, statische Meldungen vom Kunden (Drop-Down Kommentar-Header)

50 = Kunde möchte Bestellung stornieren

51 = Nachricht des Kunden an den Shop

# 60-69: Spezielle Meldungen

60 = Send gift certificate message to receiver

# 100-299 : Bestellung abgeschlossen.

100 = Die Bestellung ist versandt und abgeschlossen

101 = Die Bestellung ist abgeschlossen

200 = Die Bestellung wurd storniert

statusDate_stdWrap.strftime= %e-%m-%y %H:%M

orderDate_stdWrap.strftime= %e-%m-%y

}

stdSearchFieldExt = subtitle

}

plugin.tt_products.payment >

## EXAMPLE payment config:

plugin.tt_products.payment {

radio = 1

TAXpercentage = 16

10.title = Rechnung

10.priceTax =

10.calculationScript = EXT:tt_products/pi/products_comp_calcScript.inc

40.title = Überweisung

40.priceTax =

40.percentOfGoodstotal = 1.45

50.title = Zahlung bei Abholung

50.image.file =

50.priceTax =

}

plugin.tt_products.shipping >

## EXAMPLE shipping config:

plugin.tt_products.shipping {

TAXpercentage = 16

10.title = Post

10.priceTax = 3,50

20.title = Paketdienst

20.priceTax = 12

40.title = Selbstabholer

40.excludePayment = 10,40

}

##This fills the marker ###DOMAIN### with your Domain

plugin.domain = p13490.typo3server.info

Alle Default – Einstellungen, die nicht explizit im Setup des Shop Templates stehen, werden übernommen. Wenn Sie die Default – Einstellungen löschen möchten, müssen sie eine Zeile wie z. B. plugin.tt_products.shipping > voranstellen.

Constants

Es werden standardmäßig die Setup und Constants der Extension übernommen. Man kann diese im Setup/Constants Ihres Shop Templates jetzt überschreiben. Aber bitte editieren Sie niemals die Dateien in der Extension tt_products selbst, weil sie bei einer Neuinstallation oder einem Update gelöscht, bzw. überschrieben werden!

Nehmen Sie alle Änderungen in den Constants Ihres Shop Templates vor. Sie können die unten stehenden Constants kopieren oder die Änderungen im Constant Editor vornehmen. Hier ist beides beschrieben.

In den ersten Screenshots (Abb 14 und 17) sehen Sie, dass noch nicht alle notwendigen Änderungen vorgenommen wurden. So ist z.B. der Dezimalpunkt und nicht das in Deutschland übliche Komma in den Preisen gesetzt.

Außerdem sollte hier die korrekte Mehrwertsteuer berechnet werden.

Nehmen Sie diese Änderungen in gewohnter Weise im Constant Editor vor. Es wird über den Constants-Editor nur das Setup ausgefüllt.

Abbildung 20:

Die Änderungen müssen an den folgenden Stellen vorgenommen werden (Beispiel für Dezimalpunkt):

Abbildung 21:

Sie können stattdessen auch die folgenden Constants kopieren und in die Constants Ihres Shop-Templates einfügen. Nehmen Sie dann dort die notwendigen Änderungen vor.

Um die einzelnen Zeilen besser erklären zu können, sind sie hier durchnummeriert. Wenn Sie die Datei kopieren möchen, entfernen Sie bitte vorher die Zahlen und den folgenden Punkt.

plugin.tt_products.file.templateFile = fileadmin/products_eur.tmpl

plugin.tt_products.priceDecPoint = ,

plugin.tt_products.TAXpercentage = 16

plugin.tt_products.orderEmail_to = webmaster@mydomain.de

plugin.tt_products.orderEmail_fromName = Shop

plugin.tt_products.orderEmail_from = shop@mydomain.de

plugin.orderEmail_subject = Bestätigung der Bestellung

plugin.tt_products.domain = mydomain.de

plugin.tt_products.PIDuserFolder = 34

plugin.tt_products.loginUserInfoAddress = 1

plugin.tt_products.lockLoginUserInfo = 1

plugin.tt_products.PIDpayment = 100

plugin.tt_products.PIDfinalize = 101

##Füllt den Marker Domain ###DOMAIN### mit Ihrer Domain

plugin.domain = mydomain.de

Erklärungen zu den einzelnen Zeilen:

Der Pfad zum Template des Shops

Das in Deutschland übliche Komma im Preis (Default ist der Punkt)

Die Mehrwertsteuer (bisher in Deutschland übliche 16%, bitte achten Sie auf Sonderfälle - z. B. Bücher, Blumen, Lebensmittel).

E-mail Adresse, an die die eingehenden Bestellungen gesendet werden sollen

Absender-Name, der in der E-mail an den Kunden genutzt wird

Absender-Adresse

Betreff-Zeile der Bestellung. Wird aber nur dann verwendet, wenn im ###EMAIL_PLAINTEXT_TEMPLATE### am Anfang eine Leerzeile steht

Domäne oder Startseite des Shops

Ordner in dem die Frontenduser gespeichert werden

Legt fest, dass im Adressfeld die Adresse, das Land, die PLZ und die Stadt eines eingeloggten Frontenendbenutzers eingetragen werden.

Die Adressdaten eines eingeloggten Frontendbenutzers sollen verwendet werden.

Seiten ID der Payment-Seite (Eingabe Bezahlung)

Seiten ID der Finalize-Seite (Bestellung abschließen)

Wie beschrieben, der marker wird mit dem Domain-namen gefüllt.

Navigation im Shop

In diesem Beispielshop erfolgt die Shop-Navigation zur besseren Übersichtlichkeit im Tutorial über die normale Navigation der Internetseite und über Buttons der eigentlichen Shop-Seiten.

Sie können jedoch auch nur mittels Buttons durch den Shop navigieren, sofern Sie diese Buttons und die entsprechenden Links gesetzt haben. Im Beispiel wurde z. B. ein weiterer Button namens 'Warenkorbinhalt ansehen' hinzugefügt, der im Original-Template nicht enthalten ist.

Wenn Sie den Shop nur über Buttons navigieren (lassen) möchten, müssen die Seiten auf 'Nicht im Menu' gesetzt werden.

Da sich in diesem Shop zunächst nur ein Produkt, der Januar-Report 2005 befindet, sehen Sie auch nur einen Artikel in der Listenansicht (Abbildung 18).

Legen Sie jetzt diesen Artikel in den Warenkorb.

Wie Sie sehen, passiert hier noch nicht viel:

Abbildung 22:

Allerdings bleibt die Anzahl der ausgewählten Produkte im Feld 'Anzahl' stehen.

Wählen Sie nun in der Seitennavigation 'Warenkorb' aus oder nutzen den Button 'Warenkorbinhalt ansehen' und Sie erhalten Ihre Warenkorbansicht.

Sie sehen, dass die Änderungen in Setup und Constants hier bereits wirken.

Abbildung 23:

Der Artikel 'Report Januar 2005' liegt im Warenkorb. Der Artikel wurde einmal ausgewählt und kostet 5,00 Euro.

Im Setup wurde bereits die Art der Lieferung angepasst. Zur Auswahl stehen Post, Paketdienst und Selbstabholer.

Die Mehrwertsteuer TAXpercentage wurde auf 16 gesetzt, wie momentan in Deutschland gültig, was hier noch keine Auswirkungen hat. Die Angabe muss auch über die Constants erfolgen (siehe Kapitel Constants).

Als Titel wurde Post gewählt. Auf Wunsch kann ein Bildsymbol image.file eingefügt werden. Das ist aber in diesem Beispielshop bereits im Template auskommentiert worden.

Die Parameter image.params des Bildes zeigen an, wie das Bild ausgerichtet sein soll.

Die priceTax sind die Lieferkosten, die auf das Produkt aufgeschlagen werden. Wie Sie sehen, werden bei Selbstabholern keine Lieferkosten fällig.

Mit 40.excludePayment = 10,40
bedeutet, daß es hier eine Voreinstellung für das Payment, die Bezahlung gibt. Die Punkte 10 und 40 unter Payment sind nicht mehr möglich, wenn der Benutzer 'Selbstabholer' ist.

Wenn Sie möchten, können Sie hier auch Bilder einfügen. Einige Bilder (z.B. Mastercard-Logo) finden Sie im Verzeichnis media. Sie werden mit Typo3 ausgeliefert. Im Beispielshop wurde auf die Bilder verzichtet.

## EXAMPLE shipping config:

plugin.tt_products.shipping {

TAXpercentage = 16

10.title = Post

10.image.file = media/logos/pakketrans.gif

10.image.params = align=absmiddle

10.priceTax = 3,50

20.title = Paketdienst

20.image.file = media/logos/postdanmark.gif

20.image.params = align=absmiddle

20.priceTax = 12

40.title = Selbstabholer

40.excludePayment = 10,40

}

Hier sehen Sie ein Beispiel für die Lieferkosten, wenn der Paketdienst die Waren ausliefert.

Hier belaufen sich die Kosten für den Paketdienst auf € 12,00 inkl. Mwst.

Abbildung 24:

Payment – Bezahlung

Wenn Sie die Art der Bezahlung ändern möchten, müssen Sie im Setup folgende Änderungen vornehmen:

Die Mehrwertsteuer wird auf 16 gesetzt, was hier noch keine Auswirkungen hat. Die letztendliche Angabe erfolgt später iin den Constants. Die Zahlungsart kann der Kunde über Radiobuttons auswählen. Im Beispiel kann er sich zwischen Rechnung, Überweisung und Zahlung bei Abholung entscheiden. Bei einer Überweisung werden hier noch Gebühren in Höhe von 1.45% des Produktpreises erhoben. Diesen Wert können Sie natürlich beliebig anpassen. Bilder wurden in diesem Bereich des Setup ebenfalls auskommentiert.

## EXAMPLE payment config:

plugin.tt_products.payment {

radio = 1

TAXpercentage = 16

10.title = Rechnung

#Auskommentiert da Bild nicht genutzt

#10.image.file = media/logos/mastercard.gif

10.priceTax =

#Auskommentiert da nicht genutzt: kalkuliert ansonsten Zusatzkosten bei der

#gewählten Zahlungsart. S. Datei

#10.calculationScript = EXT:tt_products/pi/products_comp_calcScript.inc

40.title = Überweisung

#Auskommentiert da Bild nicht genutzt

#40.image.file = media/logos/money.gif

40.priceTax =

40.percentOfGoodstotal = 1.45

50.title = Zahlung bei Abholung

50.image.file =

50.priceTax =

}

Der Shop im Frontend

Wenn Sie nun im Frontend den Shop durchlaufen:

Wählen Sie Ihre Shopseite aus, legen Sie einen Artikel in den Warenkorb (s. Abb. 23),

Wählen Sie in der Navigation 'Warenkorb' aus oder klicken, wenn genutzt, auf den Button 'Warenkorbinhalt ansehen' (s. Abb.23), dann erhalten Sie Ihre Warenkorbansicht (Abb. 24).

Hier haben Sie zwei Buttons zur Auswahl.

'Warenkorb aktualisieren' wird gewählt, wenn der Shop-Benutzer z. B. die Art der Bezahlung oder die Menge der ausgewählten Produkte ändern möchte.

Diese Aktualisierung bezieht sich nur auf den Inhalt des Warenkorbes. Hier können keine zusätzlichen Produkte ausgewählt sondern nur Änderungen in den vorhandenen Feldern vorgenommen werden.

Die Auswahl des zweiten Buttons leitet Sie zur Bestellung. Wenn Sie noch kein eingetragener Benutzer sind, erhalten Sie die Aufforderung, Ihre Adressdaten einzugeben.

An dieser Stelle soll noch einmal darauf hingewiesen sein, dass hier auf die Extension fe_user_register zugegriffen wird. Setzen Sie sich bitte intensiv mit dieser Extension auseinander. Denn dort geben Sie an, welche Pflichtfelder etc. auszufüllen sind und wo die Benutzerdaten gespeichert werden sollen.

Diese Aufforderung zur Adresseingabe (durch den Shop) erhalten Sie als Frontendbenutzer immer, da für jede Bestellung eine andere Liefer- oder Rechnungsadresse angegeben werden könnte.

Abbildung 25:

Hier wird die Postanschrift als Rechnungsadresse eingetragen, eine Lieferanschrift, falls von der Rechnungsadresse abweichend.

Spezielle Wünsche zur Bestellung können in das freie Textfeld eingegeben werden.

Von hier können Sie nun entweder zurück zum Warenkorb oder zur Kasse gelangen.

Wenn Sie 'zur Kasse' gehen, sehen Sie die folgende Ansicht:

Abbildung 26:

Sie erhalten nochmals die Produktansicht, den Preis, Ihre Rechnungs- und Lieferanschrift. Wenn Sie einen Kommentar (s. abb 26) eingetragen haben, ist auch dieser nochmals ausgewiesen.

Die ausgewählten Liefer- und Zahlungsmethoden und der Gesamtpreis (brutto und netto) werden ebenfalls angezeigt.

Wichtig ist, dass die vom Benutzer eingegebene Emailadresse die Adresse ist, an welche die Bestätigung der Bestellung versandt wird.

Durch Betätigen des Buttons “Bestellung versenden” wird die Bestellung letztendlich ausgelöst.

Auftragsbestätigung

Der Kunde erhält nun vom Shop seine Auftragsbestätigung an die gewünschte Emailadresse.

Die Email sieht als plain – Text wie folgt aus:

Von: Shop[shop@meinedomain.de]

An: kunde@kunde.de

Betreff: Shop - Ihre Bestellung #order_140

Auftragsbestätigung:

Vielen Dank für Ihre Bestellung!

Ihre Bestellung ist vollständig und hat folgende Bestellnummer:

order_140.

Bitte nutzen Sie die Bestellnummer als Referenz, wenn Sie uns kontaktieren.

AUFTRAGSVERFOLGUNG:

Mit Ihrem Tracking-Code können Sie den Status Ihrer Lieferung verfolgen:

http://mydomain.de/index.php?id=588&type=0&tracking=order_140-a95728

BESTELLUNG:

1) Waren:

Produktname: Report 1/05

Artikel-Nummer: 001

Preis: 5,00 Euro

Menge: 1 = 5,00 EURO

2) Rechnungsadresse:

Testfirma

Teststraße 4

12345 Testort

Telefon: 0221 - 12345

Email: a.herzog@kienastdv.de

3) Lieferadresse:

Teststraße 4

12345 Testort

Name: Testfirma

Telefon: 0221 - 12345

Email: a.herzog@kienastdv.de

4) Wünsche zur Bestellung:(wenn dieser Punkt leer ist, haben Sie hier keine Einträge vorgenommen)

5) Versand:

Post

Preis: 3,00 Euro (0,00 Nettopreis)

6) Zahlungsart:

Rechnung

Preis: 0,00 Euro (0,00 Nettopreis)

Geamt: ________________________ Euro 8,00

(Netto: 4,31)

Mit freundlichen Grüßen

Shop

Die gleiche Email erhält der Shop Administrator, wenn ein Kunde eine Bestellung getätigt hat. Nur erhält er diese Mail nicht vom „Shop“, sondern vom „Kunden“.

Header der Mail an den Kunden:

Von: Shop[shop@meinedomain.de]

An: kunde@kunde.de

Betreff: Shop - Ihre Bestellung #order_140

Header der Mail an den Shopadministrator:

Von: Kunde[kunde@kunde.de]

An: shopadmin@meinedomain.de

Betreff: Shop - Ihre Bestellung #order_140

Tracking

Mit der mitgelieferten URL kann der Kunde nun den Verlauf seiner Bestellung verfolgen.

Klickt er aus der Email heraus den Link an, gelangt er zu dieser Ansicht.

Wichtig ist hier die kleine Tabelle im ersten Abschnitt.

Sie können die Tabelle natürlich anders anzeigen. Diese Änderung können Sie im Template im Abschnitt ###TRACKING_DISPLAY_INFO### oder in Ihrem Stylesheet vornehmen.

In der Tabelle sehen Sie:

Zeit, also wann bestellt wurde.

Code: Status – Code der Meldung

Aktion: Was ist der Status der Bestellung, in diesem Fall einfach, dass bestellt wurde.

Kommentar: Wenn ein Kommentar eingegeben wird, wird er hier angezeigt.

Sie können die Aktionen zum einen ins Deutsche übersetzen und zum anderen Ihren Bedürfnissen anpassen.

Diese Änderungen nehmen Sie im Setup des Shop-Templates vor (s. Kapitel Setup).

# 1: Incoming orders

1 = Bestellung

# 2-49: Useable by the shop admin

2 = Ihre Bestellung ist eingegangen

10 = Der Shop erwartet Waren eines Drittanbieters

11 = Der Shop erwartet Ihren Zahlungseingang

12 = Der Shop erwartet Ihre Materiallieferung

13 = Die Bestellung ist bezahlt

20 = Ihre Bestellung wurde versandt

21 = Geschenkgutscheine wurden versandt

30 = Die Waren mussten für Sie bestellt werden.

# 50-99: Useable by the customer

# 50-59: General user messages

50 = Kunde möchte Bestellung stornieren

51 = Nachricht des Kunden an den Shop

# 60-69: Special user messages

60 = Send gift certificate message to receiver

# 100-299 : Order finalized.

100 = Die Bestellung ist versandt und abgeschlossen

101 = Die Bestellung ist abgeschlossen

200 = Die Bestellung wurde storniert

Abbildung 27:

Der Kunde kann nun Kommentare an den Shop schicken.

Abbildung 28:

Dies hat er in Abb 28 bereits zweimal getan.

Sie sehen, dass hier zwischenzeitlich die Änderungen im Setup des Templates (nicht der Extension) vorgenommen wurden. Zunächst war die Nachricht im Feld Aktion mit dem Code 51 noch auf Englisch, jetzt erscheint sie in deutscher Sprache.

Der Shop Administrator erhält nun eine Email, die ihm die “Nachricht des Kunden an den Shop” zusendet.

Hier die erste Nachricht als Beispiel:

Bestell-Informationen (#order_140):

Der Status Ihre Bestellung hat sich geändert:

Zeit: 12-10-05 16:29

Status: Message from customer to shop

Kommentar:

Die Bestellung muss dringend an uns versandt werden.

TRACKING:

Sie erhalten diese Email, weil Sie Informationen über den Status Ihrer Bestellung wünschen. Sie können den Status der Bestellung verfolgen. Nutzen Sie Ihren Tracking-Code:

order_140-a95728

Klicken Sie hier, um Ihre Informationen zu erhalten:

http://mydomain.de/index.php?id=588&type=0&tracking=order_140-a95728

Mit freundlichen Grüßen

Shop

Der Shop Administrator kann nun seinerseits Informationen an den Kunden senden.

Der Shop Administrator erhält ebenfalls die Trackingnummer per Email. Wählt er den Code aus, wird er in folgende Ansicht gelinkt:

Abbildung 29:

Dazu meldet er sich mit seinem Passwort (default ist password) an (“enter code”) und kann nun einen neuen Status zu der aktuellen Bestellung eingeben und einen Kommentar eingeben, wenn er möchte.

Er kann auch in der aktuellen Ansicht zu einer anderen eingegangenen Bestellung wechseln und dort ebenfalls Änderungen im Status der Bestellung versenden (s. Abb 29).

Der Shop Administrator ist kein dedizierter Benutzer. Der zur Zeit angemeldete Backend – User ist der Shopadministrator, sofern er das Passwort kennt.

Abbildung 30:

FAQ

Wenn Sie tt_products mit der fe_user_register – Benutzerregistrierung einsetzen:

Ein Benutzer geht von Warenkorb zur Kasse und anschließend zu Bestellung. Dorr wird eraufgefordert seine Benutzerdaten zu vervolllständigen. Ihrer Ansicht nach hat er aber alle Pflichtfelder ausgefüllt.

Bitte beachten Sie, dass in beiden Extensions Pflichtfelder gesetzt sind, die sich aber unterscheiden können. Haben Sie zum Beispiel im Shop folgende Pflichfelder (die werden im Typo Script Object Browser geändert oder angesehen)

Abbildung 31:

und in fe_user_register folgende Felder definiert (Constant Editor)

Abbildung 32:

werden nur die Felder aus dem fe_user_register – Formular mit Sternchen als Pflichfelder markiert – nicht die Telefonnummer (siehe die beiden Abbildungen). Setzen Sie auf jeden Fall alle Pflichtfelder des Shops, die reauired_info_fields auch in der fe_user_register. Sonst kommt es zu Problemen.

Suche einbinden

Aus Zeitgründen sei hier nur kurz erwähnt, dass Sie eine Suche im Shop einrichten können. Dazu setzen Sie bitte auf der Shop-Seite noch die Suche in das Felxform-Formular ein. Steht “Produkte:Suche” oberhalb von “Produkte:Liste”, erscheint das Suchformular oberhalb der Listenansicht. Steht es unterhalb, erscheint die Suche am Ende der Seite.

Abbildung 33:

Im Beispiel - Template, dass Sie in diesem Tutorial finden, ist die Suche nochmals kurz beschrieben. Wenn z. B. die Suche erfolglos war, erscheint diese Nachricht auf einer separaten Seite. Eine erneute Suche ist von dort möglich, die Sie im Erfolgsfall zu den gefundenen Einträgen in der Listenansicht führt, genauso wie ein “Zurück zur – Liste” Link den Beucher wieder zur Gesamtliste führt. Sehen Sie bitte im Template im Part der Suche nach. Die folgenden beiden Abbildungen zeigen Ihnen die Ansichten der Suche in der Listenansicht, und im Falle einer leeren Suche.

Abbildung 34:

Den Text können Sie natürlich im Template an Ihre Bedürfnisse anpassen.

Anzahl Produkte pro Seite

Wie kann man die Anzahl der Produkte pro Seite limitieren?

Sie können das im Constant Editor umter “Max items displayed” einstellen. Sie erhalten dann die gewünschte Anzahl der Produkte pro Seite. Am oberen Rand der Listenansicht erhalten Sie dann einen Link zur nächsten und zur vorigen Seite.

Abbildung 35:

Zusatzinformationen

Wenn Sie in einem Webauftritt mehrere Shops installieren möchten, sollten Sie für jeden Shop ein separates Template nutzen. Sie können einen gemeinsamen Sysfolder mit Produkten und Artikeln für mehrere Shops anlegen und nutzen.

Bitte informieren Sie sich gründlich über die juristischen Anforderungen an Sie als Shopbetreiber. Besonders wichtig ist an dieser Stelle auch das (deutsche) Fernabsatzgesetz. Beachten Sie die verschiedenen Gesetze des jeweiligen Landes, wenn Sie Ihren Shop außerhalb der Bundesrepublik Deutschland einrichten.

To do

In diesem Tutorial sind einige Funktionen des Shops nicht beschrieben. Dies sind

-der gesamte Bereich der Gutscheine und Geschenke,

-die Suchfunktion,

-Merkzettel,

-Mini-Basket und

-Rechnungsschreibung.

Nicht beschrieben sind außerdem:

How to für die Shopbenutzer als PDF zum Ausdrucken

Verwendung von Bezahlsystemen wie PAYPAL und DIBS

How to für den Shopadministrator als Ergänzung zum Handbuch für den Redakteur

Dokumentation zu sr_feuser_register, sofern es den Shop betrifft

Kreditkarten – Verifizierung

Wünsche und Vorschläge an die Entwickler des Shopsystems

Momentan ist es nicht so einfach möglich, den Shop in einem geschützten Bereich zu betreiben.

Dies wäre aber wünschenswert. Man kann damit den Kundenkreis z. B. auf seine Lieferanten beschränken oder

nur ausgewählte Kunden im Shop bestellen lassen. Gerade im Mittelstand kann sich niemand Zahlungsausfälle durch nicht solvente Kunden leisten. So könnte man, wenn man an Privat- und Geschäftskunden verkauft, den Shop nur seinen Geschäftskunden zugänglich machen.

Ein weiterers wichtiges Thema ist die Einhaltung gesetzlicher Vorschriften. Wer z. B. Kochmesser verkauft, unterliegt u. U. dem Waffengesetz. Bestimmte Produkte dürfen nicht an Kinder verkauft werden usw.

Bitte beachten Sie, dass es sich bei den in den letzten drei Kapiteln stehenden Informationen lediglich um meine Meinung handelt. Es soll nicht der Eindruck einer juristischen Beratung entstehen. Bitte setzen Sie sich selbst mit diesen Themen auseinander, damit Sie später keine Abmahnung bekommen.

Deutsches Tutorial zum Shop System - 2

Deutsches Tutorial zum Shop System

Kasper Skårhøj

2002-11-01T00:32:00

Andrea Herzog-Kienast

Andrea Herzog-Kienast