thomas hirt . visuelle kommunikation
typo3 shop mit tt_products: how to 2. Teil
typo3 shop mit tt_products: how to 4. Teil
 
Montag, 16. Nov 2009

typo3 shop mit tt_products: how to 3. Teil

Heute erkläre ich die erweiterte Konfiguration von tt_products. Es geht vor allem darum, wie man die Versandoptionen einstellt, den Miniwarenkorb einbindet und die Kategorie darstellt.

Static Info Tables installieren

Der Beispielshop für dieses Tutorial befindet sich hier.

Damit die Combobox für die Länderauswahl angezeigt wird und der Marker ###PERSON_COUNTRY_CODE### im tt_products Template ersetzt wird muss zunächst die Extension Static Info Tables installiert werden. Danach kommt folgender Typoscript Code in die Constants des Extension Templates:

# Damit die Combobox für die Länderauswahl angezeigt wird
plugin.tt_products.useStaticInfoCountry = 1

Wer die Combox auf Deutsch haben möchte, muss noch zusätzlich die Erweiterung Static Info Tables (de) installieren. Um diese deutschen Bezeichnungen in die Datenbank zu bekommen, muss der Installationsprozess vollständig durchgeführt werden. Nach dem Import der Extension muss noch der Menüpunkt UPDATE! des Extension Managers gewählt werden. Dort wird dann auf Import geklickt und erst dann stehen die deutschen Bezeichnungen auch tatsächlich in der Datenbank.Der Menüpunkt UPDATE! im Extension Manager

In meinem Beispiel wird der Versand ausschließlich nach Österreich angeboten. Wer mehrere Länder zur Auswahl hat, kann durch folgenden Typoscript Code in den Constants erreichen, dass das eigene Land (hier Österreich) als Ausgangswert der Combobox gesetzt wird. Durch nachsehen in den Datenbanktabellen von Static Info Tables sind die Ländercodes relativ leicht zu herauszufinden.

# Default Sprache festlegen
plugin.tx_staticinfotables_pi1.languageCode = AT

# Default Land festlegen
plugin.tx_staticinfotables_pi1.countryCode = AUT

# Default Country Zone festlegen
plugin.tx_staticinfotables_pi1.countryZoneCode = AT-3

# Default Währung festlegen
plugin.tx_staticinfotables_pi1.currencyCode = EUR

 

Versandoptionen einstellen

Als nächstes werden Bezahlungs- und Versandoptionen konfiguriert. Ich habe folgenden Code im Typoscript Setup um meine 3 Bezahlungsmethoden festzulegen:

### Bezahlungsoptionen ###

# Bezahlmethoden zurücksetzen
plugin.tt_products.payment >

# Eigene Bezahlmethoden festlegen
plugin.tt_products.payment {
  # Steuersatz
  TAXpercentage = 20
  
  # Bezahlung mit Rechnung
  10.title = Rechnung
  
  # Barzahlung
  20.title = Barzahlung
  
  # Bezahlung per Nachnahme
  30.title = Nachnahme
}

Entspechend dazu gibt es im HTML Template den Subpart ###MESSAGE_PAYMENT###. Hier können diverse Texte zu den einzelnen Methoden (###MESSAGE_PAYMENT_10###, ###MESSAGE_PAYMENT_20###, usw.) hinterlegt und optional angezeigt werden.

Dew weiteren werden die unterschiedlichen Versandmethoden angelegt. Bei mir sieht das so aus:

### Versandoptionen ###
plugin.tt_products.shipping {
  # Steuersatz
  TAXpercentage = 20
  
  # Titel
  10.title = Versand innerhalb Österreichs
 
  # Welche Länder sind in der Combobox zu sehen?
  # Hier nur Österreich
  10.where.static_countries = cn_iso_2 = 'AT'
 
  # Preis
  10.price = 4.50
  
  # Steuer bereits enthalten?
  10.TAXincluded = 1

  # Auswahl der Zahlungsmethoden Einschränken
  # Barzahlung oder Nachnahme bei Versand nicht möglich
  10.excludePayment = 20, 30
  
  20.title = Selbstabholer
  20.where.static_countries = cn_iso_2 = 'AT'
  20.price = 0
  20.TAXincluded = 1
  # Rechnung und Nachnahme bei Selbstabholer nicht möglich
  20.excludePayment = 10, 30
  
  30.title = Nachnahme innerhalb Österreichs
  30.where.static_countries = cn_iso_2 = 'AT'
  30.price = 8.50
  30.TAXincluded = 1
  # Rechnung und Barzahlung bei Nachnahme nicht möglich
  30.excludePayment = 10, 20
}

Wie hier zu sehen hängen die Bezahlungs- und Versandoptionen zusammen. Für jede Versandoption wird definiert welche Bezahlungsoption möglich ist. Bezahlungsoptionen die nicht verfügbar sind, werden mit der Option "excludePayment" aus der Liste entfernt.

Kategoriebaum und Miniwarenkorb

In meinem HTML Template für die Hauptseite gibt es folgenden Marker: ###CONTENT_RIGHT###
Diesen Marker nutze ich um via Typoscript den Kategoriebaum und darunter den Miniwarenkorb einzubauen.

Damit die Kategorien wie erwünscht angezeigt werden, muss zuvor die Option pageAsCategory=0 im Extension Manager bei der Extension tt_products ausgewählt werden:

Der Code für den Kategoriebaum sieht dann so aus:

page.10.marks.CONTENT_RIGHT = COA
page.10.marks.CONTENT_RIGHT { 
  # Kategorienbaum einfügen
  10 < plugin.tt_products
  10.code >
  10.code = LISTCAT
  # Sysfolder mit den Kategorien
  10.pid_list = {$id_shopsyskategorien}
  10.expAll = 1
}

Zusätzlich zu den einzelnen Kategorien wollte ich noch einen Button "alle Produkte" als ersten Punkt in der Kategorieliste anzeigen lassen. Vielleicht gibt es hierfür eine einfachere Lösung, aber ich habe folgenden Condition im Setup stehen:

# Condition damit der "alle Produkte" Button in der Kategorieübersicht funktioniert
[globalVar = TSFE:id = {$id_shopkategorien}]
page.10.marks.CONTENT_RIGHT {
  8 = TEXT
  8 {
    if.isFalse.data = GPvar:tt_products|cat
    wrap = <div id="tx-ttproducts-pi1-listcat-allproducts-off"><ul id="cat1"><li> | </li></ul></div>
    value = Alle Produkte
    typolink.parameter = {$id_shopkategorien} - act -
  }

  9 = TEXT
  9 {
    if.isTrue.data = GPvar:tt_products|cat
    wrap = <div id="tx-ttproducts-pi1-listcat-allproducts-off"><ul id="cat1"><li> | </li></ul></div>
    value = Alle Produkte
    typolink.parameter = {$id_shopkategorien}
  }  
}
[else]
page.10.marks.CONTENT_RIGHT {
  9 = TEXT
  9 {
    wrap = <div id="tx-ttproducts-pi1-listcat-allproducts-off"><ul id="cat1"><li> | </li></ul></div>
    value = Alle Produkte
    typolink.parameter = {$id_shopkategorien}
  }  
}
[global]

Mit dieser Condition erreiche ich, dass der Button "alle Produkte" als oberster Punkt eingefügt wird. Der Button ist aktiv und der Pfeil davor grün falls keine Kategorie ausgewählt wurde und wir uns auf der Seite mit der Kategorieliste befinden. Ansonsten ist der Button passiv und der Pfeil vor dem Text hellgrau.

Darunter kann dann der Miniwarenkorb erscheinen:

page.10.marks.CONTENT_RIGHT {
  20 < plugin.tt_products
  20.code >
  20.code = OVERVIEW
  20.pid_list = {$id_shopsysprodukte}
}

Wer möchte kann die beiden Elemente (Kategoriebaum und Miniwarenkorb) noch mit einem DIV-Tag ummantel und danach für die eigene Webseite stylen.

Im nächsten Beitrag werde ich zeigen wie man Übergeordnete Kategorien anlegt und Produkte und Kategorien manuell ordnen kann.

 
 
Kommentar hinzufügen




*

Ivonne schrieb am 23.4.10, 14:38
Hallo, lieber Thomas,

ein ganz tolles Tutorial hier...hat mir wirklich auch sehr geholfen!

Ich habe so erst mal alles soweit hinbekommen, leider wie die Versandart nicht angezeigt bei mir...Das Feld ist leer. Die Combobox für die Länderauswahl hingegen hat funktioniert...

Hast Du eine Erklärung, woran das hängen könnte? Wäre Dir für Hilfe sehr dankbar!

Liebe Grüße von Ivonne
www.thomas-hirt.atThomas schrieb am 24.4.10, 20:27
Lies dir vielleicht noch mal diese Seite durch:
http://www.thomas-hirt.at/blog/detailansicht/datum/2009/11/16/typo3-shop-mit-tt-products-how-to-3-teil.html
Die Versandarten müssen via Typoscript konfiguriert werden und auch in dem HTML Template stehen.
Ivonne schrieb am 26.4.10, 10:09
Hallo Thomas,
vielen Dank für Deine schnelle Antwort!

Ich habe Dein ganze Tutorial gelesen und die HTML-Typoscripte übernommen...

hier hängt es irgendwie:
<p class="">Bitte w&auml;hlen Sie eine Versandart</p>
<div class="shop-basket-shipping-selector">###SHIPPING_SELECTOR###</div>
<div class="shop-basket-shipping-price">Versandkosten: ###PRICE_SHIPPING_TAX### EUR</div>

Hier wird leider nichts eingefügt bei mir...alles andere funktioniert auch bis jetzt...

LG
Ivonne schrieb am 26.4.10, 10:52
Hallo Thomas,

ich konnte das selbst lösen, indem ich sämtlichen Beispielcode im TS-Setup gelöscht habe.
Ich hatte durch alte Beispielcodes wahrscheinlich Deinen Code überschrieben und der Marker konnte so nicht mehr angesprochen werden.

Nochmal vielen Danl für Deine großzüge Seite hier und alles Gute,

sonnig Grüße aus dem Norden!
Fabrice Tobler schrieb am 6.5.10, 09:26
Hallo Thomas,

Ich weiss nicht ob du das schon rausgefunden hast, aber ich schreibs nun dennoch hin.

Wenn mann das "Mini-Warenkorb"-Bild automatisch als link verknüpfen lassen möchte, dann muss man einfach die <!--LINK_BASKET--> weg lassen. Der Marker ###IMAGE_BASKET### ist für sich schon ein Link.

Was mich jedoch interessieren würde, ist, ob man den Text im <--LINK_BASKET--> über TS ändern kann. damit ich nicht im .html File das ändern muss.
Interessant ist das, wenn der Shop mehr sprachig wird.
Ich werde noch ein wenig rum tüfteln.

Liebe Grüße

Fabrice
nce schrieb am 15.5.10, 21:35
Keine Fragen, keine Ergänzungen - nur: vielen Dank für dieses mustergültige Tutorial! Echt spitze!
www.web-and-more.atAngela Berger schrieb am 3.9.10, 15:52
Erst einmal ein großes Lob & Danke für dieses sehr hilfreiche Tutorial. Ich hatte mir zuvor stundenlang die Zähne ausgebissen ohne irgendetwas angezeigt zu bekommen.

Dennoch habe ich jetzt ein Problem: In Teil 3 schreibst Du, dass Du auf Deiner Hauptseite einen Marker ###CONTENT_RIGHT### gesetzt hast. Diesen Marker finde ich aber in Deiner Datei nicht. Kann es sein, dass man hier noch eine Extra-Seite anlegen muss, der diesen Marker enthält?
www.thomas-hirt.atThomas schrieb am 3.9.10, 20:52
Dieser Marker befindet sich in meinem HTML Template und ich füge dort via Typoscript das Plugin ein.
Der Marker könnte bei dir aber auch ganz anders heißen; hängt von deinem Template ab.
Gerri Meier schrieb am 5.10.10, 15:05
Ergänzung: Damit die Combobox auf Deutsch erscheint, muss noch
config.language = de in TS-Template.
Für TYPO3-Verhältnisse ist dieses Tutorial ungewohnt qualitativ hochstehend. Trotzdem: Würde man aus der Community ausgestossen, wenn die Infos komplett wären?
Gerri Meier schrieb am 5.10.10, 15:54
Die Angabe TAXpercentage = 20 für die Versandoption ist weder nötig, noch hat sie eine Auswirkung (wie man feststellt, wenn man sie auf 100 setzt.)
 
 
kalender
November 2009
M D M D F S S
< Okt   Dez >
 1
23456078
09101112131415
16171819202122
23242526272829
30  
 bücher   bugs   css   extensions   grafik   hardware   howto   humor   javascript   mac   musik   mysql   nachhaltigkeit   philosophie   phpmyadmin   privat   snippets   terminal   typo3   typoscript   weltfriede   wirtschaft