Zum Inhalt springen

problem mit tt_produkts 2.2.4 und pid finalize

Erstellt am 16. August 2005 · 17 Antworten · letzte Antwort am 9. September 2005

Tags: Frage

RChristian ·

Morgen Leute,

hab mal das neue tt-produkt (vers. 2.2.4) getestet und mir ist aufgefallen das wenn ich einen artikel bestelle, und zum schluß auf den button "bestellung abschließen" klicke gelange ich zu der seite finalize und darunter steht das mein warenkorb leer ist. #angry#

woran liegt das? 😢

mfg,
RChristian

RChristian ·

nein das kann nicht sein (hab noch einmal nachgeschaut). die bestellungen werden auch durchgeführt nur wenn ich auf den button "bestellung abschließen" klicke gelange ich zur de tseite finalize und dann kommt die meldung das der warenkorb leer ist.

PS: ich hab für folgende code (siehe aufzählung) eine eigene seite angelegt mit dementsprechenden code angelegt und die natürlich die dazugehörige pid im setup eingetragen:

1. BASKET
2. INFO
3. PAYMENT
4. FINALIZE

Und was auch kommisch ist, das nachdem ich die addressdaten ausgefüllt hab, erscheint in die addressleiste nicht die id von der payment-Seite sondern die von der basket und in der überschrift steht nicht "PAYMENT" sondern "BASKET". Und wenn ich mich auf die Seite mit dem "INFO" code befinde (wo man die addressdaten eingeben kann) wird die richtige id und in d. richtige überschrift angezeigt.

ich hab die selbe struktur nur mit dem zk_produkts mal ausprobiert und dort funktioniert das einwandfrei.

woran liegt das?

mfg,
RChristian

Flink ·
RChristian schrieb

Und was auch kommisch ist, das nachdem ich die addressdaten ausgefüllt hab, erscheint in die addressleiste nicht die id von der payment-Seite sondern die von der basket und in der überschrift steht nicht "PAYMENT" sondern "BASKET". Und wenn ich mich auf die Seite mit dem "INFO" code befinde (wo man die addressdaten eingeben kann) wird die richtige id und in d. richtige überschrift angezeigt.

Der ganze Ablauf erfolgt normalerweise nur über die BASKET-Seite, auch das Payment.
Das läßt sich nur verhindern, wenn man die PID-Seiten explizit über TypoScript wie PIDbasket setzt.
zk_products läuft hier anders, weil es dort nur einen einzigen CODE gibt. Bei tt_products sind mehrere CODEs auf einer Seite gleichzeitig möglich.

RChristian ·

morgen leute,

hat niemand eine lösung wie ich das obengenannte problem (wenn ich auf "bestellung abschließen" klicke kommt die meldung das der warenkorb leer ist.) lösen kann. 😢

mfg,
RChristian

Flink ·

Überprüfe in deinem Template-File, ob du immer absolute oder relative Links verwendet hast.
Also ev.

<input type="button" name="warenkorb" value="zum Warenkorb" onclick="self.location.href='http://###DOMAIN###/index.php?id=36'" />

ändern in

<input type="button" name="warenkorb" value="zum Warenkorb" onclick="self.location.href='index.php?id=36'" />
RChristian ·

Danke Flink.

nun, endlich wird auch die finalize seite angezeigt. nur wenn auf seite drucken (hab die extensions make_printlink installiert) kommt auf die druckseite "Ihr warenkorb ist leer". An was liegt es?

mfg,
RChristian

Flink ·
RChristian schrieb

(hab die extensions make_printlink installiert) kommt auf die druckseite "Ihr warenkorb ist leer". An was liegt es?

Das liegt daran, das in Finalize der Warenkorb gelöscht wird. Beim 2. Aufruf dieser Seite wird der Warenkorb nicht wieder angezeigt. Nur über Tracking läßt sich die letzte Bestellung wieder anzeigen.
Das hat den Sinn, daß der Benutzer jetzt neu bestellen kann, und die Waren der letzten Bestellung dann auch verschwunden sind.
Die Seite kann über den Tracking-Link wieder angezeigt werden.

Andrea_Herzog ·
Flink schrieb

Der ganze Ablauf erfolgt normalerweise nur über die BASKET-Seite, auch das Payment.
Das läßt sich nur verhindern, wenn man die PID-Seiten explizit über TypoScript wie PIDbasket setzt.
zk_products läuft hier anders, weil es dort nur einen einzigen CODE gibt. Bei tt_products sind mehrere CODEs auf einer Seite gleichzeitig möglich.

Hallo Flink,
kannst du mir auch sagen, wo ich das ändere?
Ich habe eine eigene Seite mit dem Code PAYMENT.
Im Constant Editor habe ich den auch gesetzt wie bei basket etc.
Aber wo muss ich noch "arbeiten"?

Viele Grüße

Andrea

Flink ·

Hallo Andrea,

Andrea_Herzog schrieb

kannst du mir auch sagen, wo ich das ändere?
Ich habe eine eigene Seite mit dem Code PAYMENT.
Im Constant Editor habe ich den auch gesetzt wie bei basket etc.
Aber wo muss ich noch "arbeiten"?

es gibt keine eigene PIDpayment. D.h. diese Seite wird nicht aufgerufen, sondern es bleibt die Seite mit dem BASKET Code.

Es ist nur über

payment.handleURL

möglich, für die Bezahlung eine andere Seite aufzurufen. Im Shop selber wird unter PAYMENT keine eigene Seite aufgebaut, sondern nur eine letzte Gültigkeitsprüfung der Parameter und ein Aufruf eines externen Bezahlungs-Skripts durchgeführt.

Andrea_Herzog ·

Hallo Flink,
danke für den Tipp. ich weiß aber nicht, wo ich das einstellen muss.
Kannst Du mir genau sagen, wo ich

payment.handleURL

und auch wie einstellen muss??

In den constants oder wo?

Viele Grüße

Andrea

Flink ·

Hallo Andrea,

Andrea_Herzog schrieb

Kannst Du mir genau sagen, wo ich

payment.handleURL

und auch wie einstellen muss??

In den constants oder wo?

du bist also noch neu bei TYPO3. 🙂

Unter Constants lassen sich nur Einzelwerte einstellen, die für alles gelten.
Daher muß das unter Setup stehen. Übrigends funktionieren manchmal Dinge nur unter Setup, weil es nicht vollständig in tt_products/ext_typoscript_setup.txt eingetragen wurde. Du kannst diese Datei als Beispiel verwenden. Hier und in ext_typoscript_constants.txt sind die Default-Werte eingestellt.

plugin.tt_products.payment {
  radio = 1
  TAXpercentage = 15
  handleURL = http://meineseiten.de/id=17
  10.title = MasterCard
  10.image.file = media/logos/mastercard.gif
  10.priceTax = 
  10.calculationScript = EXT:tt_products/pi/products_comp_calcScript.inc

  40.title = Money transfer
  40.image.file = media/logos/money.gif
  40.priceTax = 
  40.percentOfGoodstotal = 1.45

  50.title = Credit in-store
  50.image.file = 
  50.priceTax = 
}

Gruß,
Flink

Andrea_Herzog ·

Hallo Flink,
also.........Erst mal vielen Dank für deine Hilfe.

Ich hatte es schon an die richtige Stelle gesetzt.
Aber leider tut sich nichts.

Dies ist die Setup-Datei der Extension.

 ## Includes the productsLib:
includeLibs.ts_products = EXT:tt_products/pi/class.tx_ttproducts.php


## This enables the tt_content.list item to display the guestbook:
plugin.tt_products >
plugin.tt_products = USER
plugin.tt_products {
  userFunc = tx_ttproducts->main_products

  templateFile = {$plugin.tt_products.file.templateFile}
  pid_list.field = pages
  recursive.field = recursive
  code.field = select_key
  
  limit = {$plugin.tt_products.limit}
  image {
    file.maxW = {$plugin.tt_products.maxW_single}
    imageLinkWrap = {$plugin.tt_products.clickEnlarge}
    imageLinkWrap {
      enable = 1
      bodyTag = <body bgcolor="black">
      wrap = <a href="javascript:close();"> | </a>
      width = 400
      height = 400

      JSwindow = 1
      JSwindow.newWindow = 1
      JSwindow.expand = 17,20
    }
  }
  listImage < .image
  listImage.file.maxW = {$plugin.tt_products.maxW_list}
  listImage.file.maxH = {$plugin.tt_products.maxH_list}
  listImageLinkWrap = {$plugin.tt_products.clickEnlarge_list}
  
  basketImage < .image
  basketImage.file.maxW = {$plugin.tt_products.maxW_basket}
  basketImage.imageLinkWrap = {$plugin.tt_products.clickEnlarge_basket}

  image.wrap = | <br />

  noImageAvailable = {$plugin.tt_products.file.noImageAvailable}

  wrap1.wrap = {$plugin.tt_products.wrap1}
  wrap2.wrap = {$plugin.tt_products.wrap2}
  color1.wrap = {$plugin.tt_products.color1}
  color2.wrap = {$plugin.tt_products.color2}
  color3.wrap = {$plugin.tt_products.color3}

  selectColor = {$plugin.tt_products.selectColor}
  selectSize = {$plugin.tt_products.selectSize}

  displayListCatHeader = {$plugin.tt_products.displayListCatHeader}
  displayBasketCatHeader = {$plugin.tt_products.displayBasketCatHeader}

  PIDinfo = {$plugin.tt_products.PIDinfo}
  PIDfinalize = {$plugin.tt_products.PIDfinalize}
  PIDthanks = {$plugin.tt_products.PIDthanks}
  PIDtracking = {$plugin.tt_products.PIDtracking}
  PIDitemDisplay = {$plugin.tt_products.PIDitemDisplay}
  PIDsearch = {$plugin.tt_products.PIDsearch}
  PIDbasket = {$plugin.tt_products.PIDbasket}
  PIDstoreRoot = {$plugin.tt_products.PIDstoreRoot}
  PIDmemo = {$plugin.tt_products.PIDmemo}
  PID_sys_products_orders = 0

  defaultProductID = {$plugin.tt_products.defaultProductID}
  
  parseFunc < styles.content.parseFunc
  categoryHeader = TEXT
  categoryHeader.current = 1

  priceDec = {$plugin.tt_products.priceDec}
  priceDecPoint = {$plugin.tt_products.priceDecPoint}
  priceThousandPoint = {$plugin.tt_products.priceThousandPoint}
  currencySymbol = EUR

  TAXpercentage = {$plugin.tt_products.TAXpercentage}
  TAXincluded = {$plugin.tt_products.TAXincluded}

  lockLoginUserInfo = 0
  requiredInfoFields = name, address, telephone, email
  orderNumberPrefix = order_
  //orderEmail_from = shop@myTypo3Shop.com
  orderEmail_from = webmaster@shop.org
  orderEmail_fromName = Der Shop
  orderEmail_to = webmaster@shop.org
  orderEmail_htmlmail = 0
  email_notify_default = 1
  statusCodes {
# 1: Incoming orders    
    1 = Ihre Bestellung ist eingegangen
# 2-49: Nur für den Shop-Admin
    2 = Ihre Bestellung ist angekommen und akzeptiert
    10 = Es werden Lieferungen eines Drittanbieters erwartet
    11 = Der Shop erwartet die Begleichung der Rechnung
    12 = Der Shop erwartet Material
    20 = Ihre Bestellung wurde versandt
    30 = Nachricht von Shop
# 50-99: Nur für den Käufer    50 = Anfrage betreffend einer Stornierung
    51 = Nachricht an den Shop
# 100- :
    100 = Die Waren wurden versandt, die Bestellung ist geschlossen
    101 = Bestellung geschlossen
    200 = Bestellung storniert
  }
  update_code = password
  statusDate_stdWrap.strftime= %e-%m-%y %H:%M
  orderDate_stdWrap.strftime= %e-%m-%y
  
  usePriceTag = {$plugin.tt_products.usePriceTag}
  useStaticInfoCountry = {$plugin.tt_products.useStaticInfoCountry}

  priceTagObj = IMAGE
  priceTagObj.wrap = |
  priceTagObj.file = GIFBUILDER
  priceTagObj.file {
    backColor = #C4C400
    XY = [10.w]+10,[10.h]+5
    10 = TEXT
    10 {
      text = ###PRICE###
      offset = 0,14
      fontColor = #222222
      fontSize = 16
      align = center
      niceText = 1
    }
  }

  max_note_length = {$plugin.tt_products.max_note_length}

  bulkilyWarning = {$plugin.tt_products.bulkilyWarning}
  bulkilyAddition = {$plugin.tt_products.bulkilyAddition}
  specialPreparation = {$plugin.tt_products.specialPreparation}

  createUsers = {$plugin.tt_products.createUsers}
  PIDuserFolder = {$plugin.tt_products.PIDuserFolder}
  outputFolder = {$plugin.tt_products.outputfolder} 
  memberOfGroup = {$plugin.tt_products.memberOfGroup}

  stdSearchFieldExt = subtitle
  PIDagb = {$plugin.tt_products.PIDagb}
  agbtarget = {$plugin.tt_products.agbtarget}
  AGBattachment = {$plugin.tt_products.AGBattachment}

  generateCSV = {$plugin.tt_products.generateCSV}
  CSVdestination = {$plugin.tt_products.CSVdestination}
  CSVfields = {$plugin.tt_products.CSVfields}
  CSVinOneLine = {$plugin.tt_products.CSVinOneLine}

  alwaysInStock  = {$plugin.tt_products.alwaysInStock}
  notInStockMessage = {$plugin.tt_products.notInStockMessage}
  inStockPieces = {$plugin.tt_products.inStockPieces}

  newItemDays = {$plugin.tt_products.newItemDays}

  substitutePagetitle = {$plugin.tt_products.substitutePagetitle}  
}

## EXAMPLE payment config:
plugin.tt_products.payment {
  radio = 1
  TAXpercentage = 16
  handleURL = http://meine-domain/index.php?id=553
  10.title = MasterCard
  10.image.file = media/logos/mastercard.gif
  10.priceTax = 
  10.calculationScript = EXT:tt_products/pi/products_comp_calcScript.inc

  40.title = Money transfer
  40.image.file = media/logos/money.gif
  40.priceTax = 
  40.percentOfGoodstotal = 1.45

  50.title = Credit in-store
  50.image.file = 
  50.priceTax = 

}

## EXAMPLE shipping config:
plugin.tt_products.shipping {
  TAXpercentage = 16
  10.title = Ground
  10.image.file = media/logos/pakketrans.gif
  10.image.params = align=absmiddle
  10.priceTax = 

  20.title = Airmail
  20.image.file = media/logos/postdanmark.gif
  20.image.params = align=absmiddle
  20.priceTax = 

  40.title = Pick up in store
  40.excludePayment = 10,40
}



## This enables the record item to display product items
tt_products >
tt_products = < plugin.tt_products
tt_products.displayCurrentRecord = 1

Viele Grüße
Andrea #angry#

Andrea_Herzog ·

Hi Niklas,
so steht das auch nicht da. Sondern schon meine-domain.de

Aber, ratend, was du meinst, habe ich das geändert auf

handleURL = http://meine-domain.de/id=553

Geht aber auch nicht.

#angry#

Weiss nicht weiter.

Gruß Andrea

Flink ·

Hallo Andrea,

Andrea_Herzog schrieb

Hi Niklas,
so steht das auch nicht da. Sondern schon meine-domain.de

Aber, ratend, was du meinst, habe ich das geändert auf

handleURL = http://meine-domain.de/index.php?id=553

Geht aber auch nicht.

Überall, wo im Template

###FORM_URL_THANKS###

wird die obige URL eingesetzt.

Ev. benötigst du auch das Target:

handleTarget = http://meine-domain.de/index.php?id=553

2. Es macht keinen Sinn, wenn du alles aus der Datei ext_typoscript_setup.txt in dein eigenes Setup kopierst. Diese Werte bleiben auch so gültig, wenn du im Template der Seite unter 'clear' und 'rootlevel' nichts angekreuzt hast.

Andrea_Herzog ·

Hallo Flink,

:p Hurra!!! Es hat endlich geklappt.

Der Fehler :o war ein ganz blöder: ich hatte die Aktion

onclick=onClick="document.forms[0].action='http://meine-domain.de/index.php?id=553';"

Das kann ja nicht gehen. Tja, dass ist das Problem mit der Kopiererei.

Ber jetzt wird alles korrekt dort angezeigt, wo es hingehört.