Typo3 - Shop

Aus Wikizone
Wechseln zu: Navigation, Suche

Es gibt verschiedene Möglichkeiten einen Shop in Typo3 einzubinden. Standardmäßig gibt es die Extension tt_products. Man kann aber auch größtere Shops wie OS-Commerce oder XT-Commerce einbinden.

tt_products

neuere Versionen benötigen einige zusäztzliche Extension z.B. die tables,static_info_tables, oder fh_libary damit alles funktiert. Bessere Funktionalitäten erhält man noch mit den Extensions rtehtmlarea und weiteren (je nach Version).

wichtige Bedienhinweise (Version 2.4)

  • Das 'in Stock' Feld muß ausgefüllt werden damit das Produkt angezeigt wird. Der Wert -1 bedeutet 'immer vorätig'
  • Es sollten immer Bruttopreise eingegeben

wichtige Einstellungen (Version 2.4)

  • Benutze ein Multicollumn Template (displayBasketColumns=1 oder höher) auch wenn du nur 1 Spalte im Listentemplate hast.
  • Wenn du Varianten (Farbe, Größe, etc.) verwenden willst müssen die entsprechenden Constanten auf 0 gesetzt werden (selectColors, selectSize), damit die Anzahlberechnung in der Produkt Liste richtig berechnet wird.
  • Calculation Scripte sollten nur mit der priceTax und der TAXpercentage Variable arbeiten. Die priceNoTax Variable wird ab August 2008 gelöscht. Für die Berechnung stehen die globalen Variablen $this->calculatedArray und $this->itemArray zur Verfügung.
  • Rabbat - kann man an 3 Stellen anlegen:
    • Discount Feld für einen frontend user (Prozentwert)
    • price2 Feld für spezielle feuser Gruppen o.ä. Das macht man im TypoScript via IF-statement
    • discountprice calculation - Abhängig vom Wert der produktanzahl mit spezial Preis. Verfügbar für die Frontend user gruppe discountGroupName
  • Angebote - Plugincode LISTOFFERS
  • Highlights - Plugincode LISTHIGHLIGHTS
  • AGB - Es muß im Bezahlprozess den AGBs zugestimmt werden.
    • Diese werden auf einer Seite angelegt und im TS mit PIDagb verwiesen. Als Link kann man auf verschiedenen Seiten als Ziel agbtarget angeben.
    • Zweite Möglichkeit: AGBs als pdf Dokument auf den Server stellen. Dies wird an die Kundenmail angehängt.

Wichtige TypoScript-Einstellungen

TS Warum
plugin.domain = myDomain.com kann wichtig für die ordnungsgemäße Funktion sein
plugin.tt_products.displayBasketColumns = 1 ToDo
plugin.tt_products.templateFile = fileadmin/myhtmltemplate.tmpl Template File
plugin.tt_products.pid_list = 22,24,45 Wo sind die Produkte gespeichert (Default die aktuelle Seite d.h. wo sich das Plugin befindet)

tt_products Schritt für Schritt

Extensions installieren

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.

Eine neue Seite für den Shop

Erstellen Sie eine neue Seite für den Shop

Plugin tt_products einfügen

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

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.

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'.

Template für die Shopseite

Erstellen Sie nun ein neues Basis Template für Ihre Shopseite und binden es ins Haupttemplate ein. Geben Sie als erstes den Pfad zum HTML Template ein (siehe Abschnitt wichtige TS Einstellungen). Als Ausgangspunkt bieten sich die Beispieltemplates aus dem Extension Ordner an.

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.

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.

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.


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.

Ausgangspunkt der Seite festlegen

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

Tragen Sie jetzt in das Feld Ausgangspunkt den eben erstellten Sysordner namens Artikel ein. (Kann man auch Global über TypoScript festlegen - siehe TS Einstellungen)

Template, Setup und Constants anpassen

Sie müssen nun das Shop-Template und die Setup und Constant-Dateien Ihres Shops anpassen. In der Regel müssen die Page ids angepasst werden. Man kann aber auch Marker für die Page ids anlegen und dann im TS die Seiten festlegen (Siehe z.B. das HTML-Template example_template_bill_de.tmpl).

Bearbeiten Sie das HTML-Template im Editor und speichern es unter neuem Namen z.B. 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 vorher beschrieben im TS - Template 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###"

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.

Produkt Artikel (Varianten mit neuen Preisen)

Marker

Page Browser

<!--###LINK_PREV###-->vorherige Seite<!--###LINK_PREV###-->
<!-- ###LINK_BROWSE### begin --> [ ###BROWSE_LINKS### ] <!-- ###LINK_BROWSE### end-->
<!--###LINK_NEXT###-->nächste Seite<!--###LINK_NEXT###-->

<!-- ###ITEM_CATEGORY_AND_ITEMS### begin -->
  <!-- ###ITEM_CATEGORY### begin -->
    ###CATEGORY_TITLE###
  <!-- ###ITEM_CATEGORY### end -->
   
  <!-- ###ITEM_LIST### begin -->
    <form method="post" action="###FORM_URL###" name="###FORM_NAME###">
      <!-- ###ITEM_SINGLE### begin--> 
        ###PRODUCT_IMAGE###
          <!--###LINK_ITEM###-->###PRODUCT_TITLE###<!--###LINK_ITEM###-->

Beispiele für Produktvarianten:

	  <!-- ###display_variant2### -->Grösse:
            <SELECT class="shop_selectbox" name="###FIELD_SIZE_NAME###" rows="1">
              ###PRODUCT_SIZE###
            </SELECT>
	  <!-- ###display_variant2### -->

          <!-- ###display_variant5_isSingle### -->
            <p>Einzelprodukt: ###PRODUCT_ADDITIONAL_SINGLE###</p>
	  <!-- ###display_variant5_isSingle### -->

          <!-- ###display_variant5_isNotSingle### -->
            <p>Stückzahl:
              <INPUT size="4" maxlength="4" type="text" 
              name="###FIELD_NAME###" value="###FIELD_QTY###">
            </p>

Add to Memo-Funktion:

  <p>
    <input type="image" name="addtomemo" src="typo3/ext/tt_products/res/icons/fe/addmemo.png" value="Artikel merken" onClick="document.getElementsByName('###FORM_NAME###')[0].action='###FORM_MEMO###&tx_ttproducts_pi1[addmemo]=###PRODUCT_ID###';" title="Artikel merken">
  </p>
	<!-- ###display_variant5_isNotSingle### -->
      <!-- ###ITEM_SINGLE### end -->

Warenkorb:

      <input type="Submit" name="order2" value="In den Warenkorb">
      <input type="button" name="warenkorb" value="zum Warenkorb" onclick="self.location.href='index.php?id=###PID_BASKET###'">
    </form>
  !-- ###ITEM_LIST### end -->
<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->

weitere Marker:

###PRODUCT_SUBTITLE###

weitere Features

  • Memo page - für eingeloggte Besucher
  • Voucher System - Belohnungen für Käufe aufgrund von Tipps gibt es Rabattpunkte
  • Rabatte aufgrund früherer Käufe
  • Gutscheine
  • Gebinde zusammenstellen - der Käufer kann z.B. sagen 1 Wein-Sechser mit 2xRot 2xRose 2x Weiß


Updates

Bei Updates unbedingt fh_libary und tables mit Upgraden