Zum Inhalt springen

Warenkorb wird überschrieben?

Erstellt am 18. Dezember 2008 · 6 Antworten · letzte Antwort am 19. Dezember 2008

Tags: Frage

lorrey ·

Hallo !

Ich hab ein T-Shirt in S als Produkt angelegt, alle anderen Größen (M,L,XL) als einzelne Artikel.

Klapp auch soweit alles.

Nur wenn ich jetzt das Shirt 2 x in M bestelle und danach noch 5 x in XL, wird die 2xM Bestellung im Warenkorb überschrieben!!

Was mache ich falsch?!?

Besten dank!

danton ·

hi
- welche version nutzt du?
- kontrolliere die varianten(artikel).
achte bei den varianten genau auf gross-/kleinschreibung, leerzeichen etc.
- hast du die varianten auch im ts definiert
z.b. plugin.tt_products.selectMaterial = 1?
- hast du plugin.tt_products.useArticles = 1 definiert?

gruß danton

lorrey ·

hallo danton!

danke für deine antwort!

ich glaube ich hab alles richtig eingetragen - version 2.6.0
ich kann auch im FE alles richtig auswählen, wenn ich es in den warenkorb lege, nimmt er aber immer das produkt und nicht den artikel!

hier meine config:

##
## @package TYPO3
## @subpackage tt_products
## @version $Id: constants.txt 10928 2008-08-04 10:22:53Z franzholz $
##


[globalVar = GP:L = 0]

  plugin.tt_products.file.templateFile = fileadmin/templates/tt_products/shop_template-css.html

[end]

[globalVar = GP:L = 1]

  plugin.tt_products.file.templateFile = fileadmin/templates/tt_products/shop_template-css-eng.html

[end]



plugin.tt_products {
    # cat=plugin.products/file; type=file[html,htm,tmpl,txt]; label= Template File: This is a simple textfile where each part of the shopping basket is defined with HTML-code. To see an example with explanations, take a look at EXT:tt_products/pi1/products_template.tmpl which is the default.
  #file.templateFile = EXT:tt_products/template/example_template_bill_de.tmpl
  
    # cat=plugin.products/file; type=file[IMAGE_EXT]; label= Alternative Image: This image is used if there is no image present for the product
  file.noImageAvailable =

    # cat=plugin.products/file; type=file[pdf,gif,jpg]; label= datasheet icon: 
  file.datasheetIcon =

    # cat=plugin.products/typo; type=wrap; label= Wrap 1: This wrap is used in the template-file.
  wrap1 = <span class="tx-ttproducts-pi1-wrap1"> | </span>
    # cat=plugin.products/typo; type=wrap; label= Wrap 2: This wrap is used in the template-file.
  wrap2 = <span class="tx-ttproducts-pi1-wrap2"> | </span>
    # cat=plugin.products/typo; type=boolean; label= break Note: Transforms linefeeds in the note field into <br /> HTML tags
  nl2brNote = 1

    # cat=plugin.products//; type=integer; label= use article table: You have to set this to 1 if you want that your entries in the products articles table get used. Set it to 2 if your articles do not use the variant fields.
  useArticles = 1

    # cat=plugin.products/color; type=color; label= Color 1: This bgcolor is used in the template-file.
  color1 = #cccccc
    # cat=plugin.products/color; type=color; label= Color 2: This bgcolor is used in the template-file.
  color2 = #999999
    # cat=plugin.products/color; type=color; label= Color 3: This bgcolor is used in the template-file.
  color3 = #333333

    # cat=plugin.products//; type=boolean; label= Click Enlarge, Single display: If this option is set, users can click the image of a product and it'll pop-up in a separate window at a larger size.
  clickEnlarge = 0
    # cat=plugin.products//; type=boolean; label= Click Enlarge, List display: As above, but for the images in the product-lists and search-results
  clickEnlarge_list = 0
    # cat=plugin.products//; type=boolean; label= Click Enlarge, List display for items listed with a filter for a category having childs: See above
  clickEnlarge_listHasChilds = 0
    # cat=plugin.products//; type=boolean; label= Click Enlarge, List display for items listed with a filter for a DAM root category
  clickEnlarge_listRoot = 0
    # cat=plugin.products//; type=boolean; label= Click Enlarge, Basket display: As above, but for the images in the basket
  clickEnlarge_basket = 0
    # cat=plugin.products//; type=boolean; label= Click Enlarge, Category images: As above, but for the category images
  clickEnlarge_listcat = 0

    # cat=plugin.products//; type=boolean; label= Color selectable, List display: Make the color selectable in the list
  selectColor = 1
    # cat=plugin.products//; type=boolean; label= 2nd Color selectable, List display: Make the 2nd color selectable in the list
  selectColor2 = 1
    # cat=plugin.products//; type=boolean; label= 3rd Color selectable, List display: Make the 3rd color selectable in the list
  selectColor3 = 1
    # cat=plugin.products//; type=boolean; label= Size selectable, List display: Make the size selectable in the list
  selectSize = 1
    # cat=plugin.products//; type=boolean; label= 2nd Size selectable, List display: Make the 2nd size selectable in the list
  selectSize2 = 1
    # cat=plugin.products//; type=boolean; label= 3rd Size selectable, List display: Make the 3rd size selectable in the list
  selectSize3 = 1
    # cat=plugin.products//; type=boolean; label= Description selectable, List display: Make the description selectable in the list
  selectDescription = 1
    # cat=plugin.products//; type=boolean; label= Gradings selectable, List display: Make the gradings selectable in the list
  selectGradings = 1
    # cat=plugin.products//; type=boolean; label= Material selectable, List display: Make the material selectable in the list
  selectMaterial = 1
    # cat=plugin.products//; type=boolean; label= Quality selectable, List display: Make the quality selectable in the list
  selectQuality = 1
  
    # cat=plugin.products//; type=boolean; label= Display Category Header in list: If this option is set, the category headers (page titles) will automatically be displayed in the product lists. This is not always convenient because you might have chosen a header-title for the "list" content element.
  displayListCatHeader = 1
    # cat=plugin.products//; type=boolean; label= Display Category Header in basket: If this option is set, the category headers (page titles) will automatically be displayed in the basket lists.
  displayBasketCatHeader = 0 
  
    # cat=plugin.products//; type=string; label= Type of display, category list: main HTML tag for category list view
  displayCatListType = ul
    # cat=plugin.products//; type=boolean; label= cObj settings: If set, certain settings are manipulated in order to let the script render a single item - the $cObj->data.
  displayCurrentRecord = 
    # cat=plugin.products//; type=string; label= URL of the basket image
  basketPic = EXT:tt_products/res/icons/fe/minibasket1.gif
    # cat=plugin.products//; type=boolean; label= Click into basket: If set the basket page will be shown after a product has been put there. PIDbasket needs to be set.
  clickIntoBasket =
    # cat=plugin.products//; type=boolean; label= Click into list: If set the list page will be shown after a product has been put there. PIDlistDisplay needs to be set.
  clickIntoList =
    # cat=plugin.products//; type=boolean; label= Click into submenu: If set the submenu entries will only be shown after a click on the link of the parent category
  clickIntoSubmenu = 1
    # cat=plugin.products//; type=boolean; label= Click item list into submenu: If set the click on an image on the list view will lead to the subcategory, if the category has childs
  clickItemsIntoSubmenu =
    # cat=plugin.products//; type=int+; label= maximum basket quantity: This is the maximal possible amount of one product in the basket.
  basketMaxQuantity = 1000
    # cat=plugin.products//; type=boolean; label= Quantity is a float value: If set the basket will accept float values as quantities
  quantityIsFloat =
  
    # cat=plugin.products//; type=string; label= CSS even rows: Cascading Stylesheets (CSS) even rows in the products listing. This works only if displayColumns has been set.
  CSSRowEven = 
    # cat=plugin.products//; type=string; label= CSS uneven rows: Cascading Stylesheets (CSS) uneven rows in the products listing. This works only if displayColumns has been set.
  CSSRowUneven =
    # cat=plugin.products//; type=string; label= CSS default, List display: Cascading Stylesheets (CSS) for default entries in a list view.
  CSSListDefault =
    # cat=plugin.products//; type=string; label= CSS current, List display: Cascading Stylesheets (CSS) for the currently selected item a list view.
  CSSListCurrent =

    # cat=plugin.products//; type=boolean; label= single view, List display: Usually you get the link to the single item view on the display page of the LIST code. If you however want to create your own pages for single view with SINGLE code you must set this to 1.
  NoSingleViewOnList = 
  
    # cat=plugin.products//; type=int+; label= Max items displayed: The maximum number of items displayed on one page. 
  limit = 20
    # cat=plugin.products//; type=int+; label= Max images displayed: The maximum number of images displayed for an item on a list view. 
  limitImage = 1
    # cat=plugin.products//; type=int+; label= Max images displayed: The maximum number of images displayed for an item on a single view. 
  limitImageSingle = 10
    # cat=plugin.products//; type=boolean; label= Images from the page content used: The image of the page contents can be used instead of the images of the products table.
  usePageContentImage =
    # cat=plugin.products//; type=boolean; label= Separate images: Normally all images are displayed together. With separateImage=on you can use a ###PRODUCT_IMAGE3### for each image number separatly.
  separateImage =

    # cat=plugin.products/dims; type=int+; label= Max image width, single display: The maximum width in pixels of an image when displayed with a single product.
  maxW_single = 368
    # cat=plugin.products/dims; type=int+; label= Max image height, single display: The maximum height in pixels of an image when displayed with a single product.
  maxH_single = 400
    # cat=plugin.products/dims; type=int+; label= Max image width, list display: The maximum width in pixels of an image when displayed in lists and searchresults.
  maxW_list = 180
    # cat=plugin.products/dims; type=int+; label= Max image height, list display: The maximum height in pixels of an image when displayed in lists and searchresults.
  maxH_list = 200
    # cat=plugin.products/dims; type=int+; label= Max image width, list display: DAM, the category has childs
  maxW_listHasChilds = 50
    # cat=plugin.products/dims; type=int+; label= Max image height, list display: DAM, the category has childs
  maxH_listHasChilds = 100
    # cat=plugin.products/dims; type=int+; label= Max image width, list display: DAM, the category is a root category
  maxW_listRoot = 50
    # cat=plugin.products/dims; type=int+; label= Max image height, list display: DAM, the category is a root category
  maxH_listRoot = 100
    # cat=plugin.products/dims; type=int+; label= Max image width, basket display: The maximum width in pixels of an image when displayed in the shopping-basket.
  maxW_basket = 180
    # cat=plugin.products/dims; type=int+; label= Max image height, basket display: The maximum height in pixels of an image when displayed in the shopping-basket.
  maxH_basket = 200
    # cat=plugin.products/dims; type=int+; label= Max image width, category images: The maximum width in pixels of an image for categories when displayed in lists and searchresults.
  maxW_listcat = 50
    # cat=plugin.products/dims; type=int+; label= Max image height, category images: The maximum height in pixels of an image for categories when displayed in lists and searchresults.
  maxH_listcat = 100
    # cat=plugin.products/dims; type=int+; label= Max image width, popup window: The maximum width in pixels of an image when displayed in the popup window.
  maxW_popup = 400

    # cat=plugin.products//; type=int+; label=list of allowed pids: Use the root page id of your store items and also set recursive
  pid_list = 15
    # cat=plugin.products//; type=int+; label=PID for info page: This is the PID of the infoPage of the store.
  PIDinfo = 
    # cat=plugin.products//; type=int+; label=PID for finalize page
  PIDfinalize =
    # cat=plugin.products//; type=int+; label=PID for thanks page
  PIDthanks =
    # cat=plugin.products//; type=int+; label=PID for tracking page
  PIDtracking =
    # cat=plugin.products//; type=int+; label=PID for billing page
  PIDbilling =
    # cat=plugin.products//; type=int+; label=PID for delivery sheet page
  PIDdelivery =
    # cat=plugin.products//; type=int+; label=PID for payment page
  PIDpayment = 
    # cat=plugin.products//; type=int+; label=PID for single item display: Set this in your setup manually for defining where conditions for several pages.
  PIDitemDisplay =
    # cat=plugin.products//; type=int+; label=PID for list items display: Set this in your setup manually for defining where conditions for several pages.
  PIDlistDisplay =
    # cat=plugin.products//; type=int+; label=PID for search page: If you want all product searches to go to a specific page, enter the PID it here! NOTE: If you set this PID, all searchqueries will (must) be handled with a list content element with the code "search" on that page.
  PIDsearch =
    # cat=plugin.products//; type=int+; label=PID for basket page: If you want every change in the number of items anywhere to go to a specific page (eg. the shopping basket page), enter the PID here.
  PIDbasket = 184
    # cat=plugin.products//; type=int+; label=PID for store root: This is the PID of the rootPage of the store. If not set the store will operate over all pages from the root of the site. But if the site has many pages, performance may improve
  PIDstoreRoot = 
    # cat=plugin.products//; type=int+; label=PID for the memo page: Needed if you want to use the memo page
  PIDmemo = 
    # cat=plugin.products//; type=int+; label=PID for the sys_products_orders records: By default they will get the pid of the payment (finalize) page.
  PID_sys_products_orders = 185
    # cat=plugin.products//; type=int+; label=PID for the tt_products_gifts records: By default they will get the pid of the payment (finalize) page.
  PIDGiftsTable = 0
    # cat=plugin.products//; type=int+; label=User Sysfolder PID: PID of the sysfolder for the new users
  PIDuserFolder = 
    # cat=plugin.products//; type=int+; label=allowed pages for related products
  pidsRelatedProducts = 
    # cat=plugin.products//; type=int+; label=allowed pages for addresses
  pidsAddresses = 

    # cat=plugin.products//; type=string; label=When the payment shall be executed. Possible values:  'payment', 'finalize'
  paymentActivity=finalize

    # cat=plugin.products//; type=int+; label=advance order number with integer: If this value is set, then each time a new order is created the order-number counter will be incremented with a random number between [first-integer] and [second integer].
  advanceOrderNumberWithInteger = 

    # cat=plugin.products//; type=boolean; label=always advance order number: If set then the order number will always get increased and the empty order numbers are not reused. 
  alwaysAdvanceOrderNumber =
    # cat=plugin.products//; type=boolean; label=always update order amount: If set then the order amount will always be updated and not increased by the entered number
  alwaysUpdateOrderAmount = 1

    # cat=plugin.products//; type=int+; label=default article ID: ID of the default article that will be shown in a single page when nothing else is configured
   defaultArticleID =
    # cat=plugin.products//; type=int+; label=default product ID: ID of the default product that will be shown in a single page when nothing else is configured
  defaultProductID =
    # cat=plugin.products//; type=int+; label=default category ID: ID of the default category that will be shown in the list view when no tx_ttproducts_pi1[cat] parameter is given
  defaultCategoryID = 
    # cat=plugin.products//; type=int+; label=default DAM category ID: ID of the default DAM category that will be shown in the list view when no tx_ttproducts_pi1[damcat] parameter is given
  defaultDAMCategoryID = 
    # cat=plugin.products//; type=int+; label=root category ID: The upper most category ID from where you want to start to list categories.
  rootCategoryID = 
    # cat=plugin.products//; type=int+; label=root DAM category ID: The upper most DAM category ID from where you want to start to list DAM categories.
  rootDAMCategoryID = 
    # cat=plugin.products//; type=int+; label=root page ID: The upper most page as category ID from where you want to start to list pages as categories.
  rootPageID = 
    # cat=plugin.products//; type=int+; label=recursive levels: Number of recursive levels to select tt_products from in lists.
  recursive = 99
    # cat=plugin.products//; type=string; label=Domain ot the shop; used to replace the ###DOMAIN### marker
  domain = localhost
 
    # cat=plugin.products//; type=small; label=TAX percentage: Type= Double (means, "use . as decimal point")
  TAXpercentage = 19

    # cat=plugin.products//; type=boolean; label=TAX included in database prices?
  TAXincluded = 1
    # cat=plugin.products//; type=int+; label=TAX mode. 1 ... add taxes to the end net sum - 2 ... add taxes on each single product first
  TAXmode = 1
    # cat=plugin.products//; type=int+; label=TAX rates. Comma separated list of tax rates. The first will be taken as tax A, the second as tax B aso.
  TAXrates = 19
    # Price decimals
  priceDec = 2
    # cat=plugin.products//; type=small; label=Price decimal point
  priceDecPoint = .
    # cat=plugin.products//; type=small; label=Price Thousand point
  priceThousandPoint = 
    # cat=plugin.products//; type=string; label=Currency symbol. Used in shop administration.
  currencySymbol = EUR

    # cat=plugin.products//; type=boolean; label=lock login user: If set and a user is logged in, the address info of that fe_user is 'hardcoded' as billing address of the user.
  lockLoginUserInfo = 0
    # cat=plugin.products//; type=boolean; label=edit locked login info: If set and lockLoginUserInfo is set then it is possible to edit still the data only for the order if there are HTML edit fields in the template
  editLockedLoginInfo =
    # cat=plugin.products//; type=boolean; label=lock login user address: If lockLoginUserInfo is set, this switch makes that the address field is filled in from address, country, zip and city of the fe_user
  loginUserInfoAddress =
    # cat=plugin.products//; type=boolean; label=oder by item number: If the single item display should be sorted by ItemNumber instead of uid; used for ###LINK_NEXT_SINGLE### and ###LINK_PREV_SINGLE### 
  orderByItemNumberSg = 
    # cat=plugin.products//; type=string; label=Prefix to the order numbers: Dont use spaces or special chars. Max 10 chars.
  orderNumberPrefix = %
    # cat=plugin.products//; type=string; label=from email addresss: From email address for the confirmation email to customer
  orderEmail_from = 
    # cat=plugin.products//; type=string; label=from email name: From name for the confirmation email to customer. 
  orderEmail_fromName = Test
    # cat=plugin.products//; type=string; label=to email addresses: Comma separated list of recipients of the order email. Shop and administrator/supervisor email addresses go here!
  orderEmail_to = 
    # cat=plugin.products//; type=boolean; label=send email to delivery: If you want to send the email notification to the delivery email and not to the billing email
  orderEmail_toDelivery = 
    # cat=plugin.products//; type=string; label=subject of email: The topic of your email. Or the first line in EMAIL_PLAINTEXT_TEMPLATE is used!
  orderEmail_subject = Test Betreff
    # cat=plugin.products//; type=boolean; label=HTML email: If set, the order confirmation email is sent as HTML
  orderEmail_htmlmail = 0
    # cat=plugin.products//; type=string; label=header in apostrophes: If set, the order email subject and sender name will be set inside of apostrophes.
  orderEmail_apostrophe =
    # cat=plugin.products//; type=boolean; label=email notify: If email-notification for the customer is enabled by default (he can change it himself in the tracking module later)
  email_notify_default = 1
  
    # cat=plugin.products//; type=string; label=password: The 'password' used by the administrator of the shop to go into the tracking system in the front end.
  update_code = password
  
    # cat=plugin.products//; type=boolean; label=Use Price Tag: Print a graphical price tag instead of the normal text field
  usePriceTag = 0
    # cat=plugin.products//; type=boolean; label=Use Frontend User Static Info Country Field: This is the small country field of the fe_user table
  useStaticInfoCountry = 0
    # cat=plugin.products//; type=text; label=Message displayed at bulkily items
  bulkilyWarning = <p><b>Warning! This article needs special transport.</b></p>
    # cat=plugin.products//; type=int+; label=Additional cost for bulkily items
  bulkilyAddition = 25
    # cat=plugin.products//; type=int+; label=Tax fee in percent for shipping of bulkily
  bulkilyFeeTax = 
    # cat=plugin.products//; type=text; label=Special preparation: Message displayed at items marked as special preparation
  specialPreparation = Special preparation possible! <A HREF="?id=999&tt_products=###PRODUCT_ID###">Order here</A>.

    # cat=plugin.products//; type=int+; label=Max note length: Max. number of characters of the note text in the list view
  max_note_length = 100

    # cat=plugin.products//; type=boolean; label=Create Users: Create an user account for each new customer
  createUsers = 0
    # cat=plugin.products//; type=string; label=Output folder: Folder where the bill and delivery sheets are created.
  outputFolder = fileadmin/data
    # cat=plugin.products//; type=int+; label=Group of customers
  memberOfGroup = 1

    # cat=plugin.products//; type=int+; label=PID of AGB page: PID of the page with the AGB
  PIDagb = 0
    # cat=plugin.products//; type=small; label=Target of AGB page: Target for the AGB page
  AGBtarget = _blank

    # cat=plugin.products/file; type=file[html,htm,pdf,doc,txt]; label= AGB Attachment File: This file is attached to the order confirmation mail
  AGBattachment = 

    # cat=plugin.products//; type=boolean; label=Order CSV generation: Generate a CSV file for each order
  generateCSV = 1
    # cat=plugin.products//; type=text; label=Order CSV folder: Destination directory for CSV files generated by orders; Important: Enter a directory, that is NOT accessible via web!
  CSVdestination = csvorders/
    # cat=plugin.products//; type=text; label=Order CSV export fields: Product database fields to export (Comma seperated)
  CSVfields = tstamp,title,price,price2,itemnumber,category,inStock,tax,weight,bulkily,offer,highlight,directcost,subtitle
    # cat=plugin.products//; type=boolean; label=Choose your CSV format: Write all additional information in one line behind the first ordered product. This is good if you want to import this files somewhere. If you not check this, the CSV is formatted for best view in Excel for example
  CSVinOneLine = 0

    # cat=plugin.products//; type=text; label=Search fields: fields to be considered for a search
  stdSearchFieldExt = title, subtitle, note

    # cat=plugin.products//; type=boolean; label=always in Stock: The stock will never get reduced.
  alwaysInStock = 1
    # cat=plugin.products//; type=boolean; label=show not in stock items: If set the items will be shown even if no product is in the stock.
  showNotinStock =
    # cat=plugin.products//; type=text; label=Not in Stock message: Message is displayed if inStock = 0 (means not inStock)
  notInStockMessage = not in stock
    # cat=plugin.products//; type=string; label=Unit for pieces
  inStockPieces = pieces
    # cat=plugin.products//; type=int+; label=In stock warning limit: When this number of items in stock is reached a warning email will be sent.
  warningInStockLimit = 50

    # cat=plugin.products//; type=int+; label=New Item Days: How many days list new items in LISTNEWITEMS
  newItemDays = 7

    # cat=plugin.products//; type=int+; label=Substitute page title: If you set this to 1, the product title will be showed as page title in single view. If you set this to 2, the product subtitle will be displayed
  substitutePagetitle = 1
  
    # cat=plugin.products//; type=string; label=gift selection: SQL where clause to form the gift products from the tt_products table
  whereGift = 

    # cat=plugin.products//; type=boolean; label=debug: Turn this on and no basket will be deleted. Only for testing purposes. Must not be set in online shops.
  debug = 

}

und hier der setup teil:

##
## @package TYPO3
## @subpackage tt_products
## @version $Id: setup.txt 10928 2008-08-04 10:22:53Z franzholz $
##

## Includes the productsLib:
includeLibs.tt_products = EXT:tt_products/pi1/class.tx_ttproducts_pi1.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_pi1->main
  templateFile = {$plugin.tt_products.file.templateFile}
  templateStyle = css-styled
  pid_list = {$plugin.tt_products.pid_list}
  code.field = select_key
  defaultCode = HELP
  wrapInBaseClass = 0

  limit = {$plugin.tt_products.limit}
  limitImage = {$plugin.tt_products.limitImage}
  limitImageSingle = {$plugin.tt_products.limitImageSingle}
  usePageContentImage = {$plugin.tt_products.usePageContentImage}
  separateImage = {$plugin.tt_products.separateImage}
  image {
    file.maxW = {$plugin.tt_products.maxW_single}
    file.maxH = {$plugin.tt_products.maxH_single}
    imageLinkWrap = {$plugin.tt_products.clickEnlarge}
    imageLinkWrap {
      enable = 1
      bodyTag = <body bgColor="black" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
      wrap = <a href="javascript:close();"> | </a>
      width = {$plugin.tt_products.maxW_popup}
      height = 

      JSwindow = 1
      JSwindow.newWindow = 1
      JSwindow.expand = 0,0
    }
  }
  listImage < .image
  listImage.file.maxW = {$plugin.tt_products.maxW_list}
  listImage.file.maxH = {$plugin.tt_products.maxH_list}
  listImage.imageLinkWrap = {$plugin.tt_products.clickEnlarge_list}

  listImageHasChilds < .listImage
  listImageHasChilds.file.maxW = {$plugin.tt_products.maxW_listHasChilds}
  listImageHasChilds.file.maxH = {$plugin.tt_products.maxH_listHasChilds}
  listImageHasChilds.imageLinkWrap = {$plugin.tt_products.clickEnlarge_listHasChilds}

  listImageRoot < .listImage
  listImageRoot.file.maxW = {$plugin.tt_products.maxW_listRoot}
  listImageRoot.file.maxH = {$plugin.tt_products.maxH_listRoot}
  listImageRoot.imageLinkWrap = {$plugin.tt_products.clickEnlarge_listRoot}
  
  basketImage < .image
  basketImage.file.maxW = {$plugin.tt_products.maxW_basket}
  basketImage.file.maxH = {$plugin.tt_products.maxH_basket}
  basketImage.imageLinkWrap = {$plugin.tt_products.clickEnlarge_basket}

  listcatImage < .image
  listcatImage.file.maxW = {$plugin.tt_products.maxW_listcat}
  listcatImage.file.maxH = {$plugin.tt_products.maxH_listcat}
  listcatImage.imageLinkWrap = {$plugin.tt_products.clickEnlarge_listcat}

  image.wrap = | <BR>

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

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

  selectColor = {$plugin.tt_products.selectColor}
  selectColor2 = {$plugin.tt_products.selectColor2}
  selectColor3 = {$plugin.tt_products.selectColor3}
  selectSize = {$plugin.tt_products.selectSize}
  selectSize2 = {$plugin.tt_products.selectSize2}
  selectSize3 = {$plugin.tt_products.selectSize3}
  selectDescription = {$plugin.tt_products.selectDescription}
  selectGradings = {$plugin.tt_products.selectGradings}
  selectMaterial = {$plugin.tt_products.selectMaterial}
  selectQuality = {$plugin.tt_products.selectQuality}
  useArticles = {$plugin.tt_products.useArticles}

  displayListCatHeader = {$plugin.tt_products.displayListCatHeader}
  displayBasketCatHeader = {$plugin.tt_products.displayBasketCatHeader}
  displayBasketColumns = {$plugin.tt_products.displayBasketColumns}
  displayCatListType = {$plugin.tt_products.displayCatListType}
  basketPic = {$plugin.tt_products.basketPic}
  clickIntoBasket = {$plugin.tt_products.clickIntoBasket}
  clickIntoList = {$plugin.tt_products.clickIntoList}
  clickIntoSubmenu = {$plugin.tt_products.clickIntoSubmenu}
  clickItemsIntoSubmenu = {$plugin.tt_products.clickItemsIntoSubmenu}
  basketMaxQuantity = {$plugin.tt_products.basketMaxQuantity}
  quantityIsFloat = {$plugin.tt_products.quantityIsFloat}

  CSS.tt_products.LIST.row.even = {$plugin.tt_products.CSSRowEven}
  CSS.tt_products.LIST.row.uneven = {$plugin.tt_products.CSSRowUneven}
  CSS.tt_products.LIST.itemSingleWrap = <div class="###UNEVEN###">|</div>
  CSS.tt_products.LIST.itemRowWrap = 
  CSSListDefault = {$plugin.tt_products.CSSListDefault}
  CSSListCurrent = {$plugin.tt_products.CSSListCurrent}

  NoSingleViewOnList = {$plugin.tt_products.NoSingleViewOnList}

  PIDagb = {$plugin.tt_products.PIDagb}
  PIDinfo = {$plugin.tt_products.PIDinfo}
  PIDfinalize = {$plugin.tt_products.PIDfinalize}
  PIDpayment = {$plugin.tt_products.PIDpayment}
  PIDthanks = {$plugin.tt_products.PIDthanks}
  PIDtracking = {$plugin.tt_products.PIDtracking}
  PIDbilling = {$plugin.tt_products.PIDbilling}
  PIDdelivery = {$plugin.tt_products.PIDdelivery}
  PIDitemDisplay = {$plugin.tt_products.PIDitemDisplay}
  PIDlistDisplay = {$plugin.tt_products.PIDlistDisplay}
  PIDsearch = {$plugin.tt_products.PIDsearch}
  PIDbasket = {$plugin.tt_products.PIDbasket}
  PIDstoreRoot = {$plugin.tt_products.PIDstoreRoot}
  PIDmemo = {$plugin.tt_products.PIDmemo}
  PID_sys_products_orders = {$plugin.tt_products.PID_sys_products_orders}
  PIDGiftsTable = {$plugin.tt_products.PIDGiftsTable}
  paymentActivity = {$plugin.tt_products.paymentActivity}
  
  advanceOrderNumberWithInteger = {$plugin.tt_products.advanceOrderNumberWithInteger}
  alwaysAdvanceOrderNumber = {$plugin.tt_products.alwaysAdvanceOrderNumber}
  alwaysUpdateOrderAmount = {$plugin.tt_products.alwaysUpdateOrderAmount}

  defaultArticleID = {$plugin.tt_products.defaultArticleID}
  defaultProductID = {$plugin.tt_products.defaultProductID}
  defaultCategoryID = {$plugin.tt_products.defaultCategoryID}
  defaultDAMCategoryID = {$plugin.tt_products.defaultDAMCategoryID}
  
  rootCategoryID = {$plugin.tt_products.rootCategoryID}
  rootDAMCategoryID = {$plugin.tt_products.rootDAMCategoryID}
  rootPageID = {$plugin.tt_products.rootPageID}
  recursive = {$plugin.tt_products.recursive}
  domain = {$plugin.tt_products.domain}
  
  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 = {$plugin.tt_products.currencySymbol}

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

  lockLoginUserInfo = {$plugin.tt_products.lockLoginUserInfo}
  editLockedLoginInfo = {$plugin.tt_products.editLockedLoginInfo}
  loginUserInfoAddress = {$plugin.tt_products.loginUserInfoAddress}
  orderByItemNumberSg = {$plugin.tt_products.orderByItemNumberSg}
  orderNumberPrefix = {$plugin.tt_products.orderNumberPrefix}
  requiredInfoFields = name, address, telephone, email
  orderEmail_from = {$plugin.tt_products.orderEmail_from}
  orderEmail_fromName = {$plugin.tt_products.orderEmail_fromName}
  orderEmail_to = {$plugin.tt_products.orderEmail_to}
  orderEmail_toDelivery = {$plugin.tt_products.orderEmail_toDelivery}
  orderEmail_subject = {$plugin.tt_products.orderEmail_subject}
  orderEmail_htmlmail = {$plugin.tt_products.orderEmail_htmlmail}
  orderEmail_apostrophe = {$plugin.tt_products.orderEmail_apostrophe}
  email_notify_default = {$plugin.tt_products.email_notify_default}
  statusCodes {
# 1: Incoming orders    
    1 = Order submitted by user
# 2-49: Useable by the shop admin
    2 = Order is received and accepted by store
    10 = Shop is awaiting goods from third-party
    11 = Shop is awaiting customer payment
    12 = Shop is awaiting material from customer
    13 = Order has been paid
    20 = Goods shipped to customer
    21 = Gift certificates shipped to customer
    30 = Other message from store
# 50-99: Useable by the customer
# 50-59: General user messages
    50 = Customer request for cancelling
    51 = Message from customer to shop
# 60-69: Special user messages
    60 = Send gift certificate message to receiver
# 100-299 : Order finalized.
    100 = Order shipped and closed
    101 = Order closed
    200 = Order cancelled
  }
  update_code = {$plugin.tt_products.update_code}
  statusDate_stdWrap.strftime= %d-%m-%Y %H:%M
  orderDate_stdWrap.strftime = %d-%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}
  bulkilyFeeTax = {$plugin.tt_products.bulkilyFeeTax}
  specialPreparation = {$plugin.tt_products.specialPreparation}

  createUsers = {$plugin.tt_products.createUsers}
  PIDuserFolder = {$plugin.tt_products.PIDuserFolder}
  pidsRelatedProducts = {$plugin.tt_products.pidsRelatedProducts}
  pidsAddresses = {$plugin.tt_products.pidsAddresses}
  outputFolder = {$plugin.tt_products.outputFolder} 
  memberOfGroup = {$plugin.tt_products.memberOfGroup}

  stdSearchFieldExt = {$plugin.tt_products.stdSearchFieldExt}
  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}
  showNotinStock = {$plugin.tt_products.showNotinStock}
  notInStockMessage = {$plugin.tt_products.notInStockMessage}
  inStockPieces = {$plugin.tt_products.inStockPieces}
  warningInStockLimit = {$plugin.tt_products.warningInStockLimit}
  newItemDays = {$plugin.tt_products.newItemDays}
  substitutePagetitle = {$plugin.tt_products.substitutePagetitle}  
  
  whereGift = {$plugin.tt_products.whereGift}

  form.SEARCH.name = ShopSearchForm

  # table settings
  # attention: Do not change the tt_products fields if you don't know what you do

  table.tt_address {
    name = name
  }

  table.tt_products = tt_products
  table.tt_products {
    address = address
    itemnumber = itemnumber
    variant {
      1 = color
      2 = size
      3 = description
      4 = gradings
      5 = additional
      6 = color2
      7 = color3
      8 = size2
      9 = size3
      10 = material
      11 = quality
    }
  }
 
  conf.tt_products.ALL {
    orderBy = title
    requiredFields = uid,pid,category,price,price2,tax,inStock
  	language.type = table
  	language.table = tt_products_language
    controlFields {
	newItemDays = crdate, starttime
    }
  }

  table.tt_products_articles = tt_products_articles
  table.tt_products_articles {
    itemnumber = itemnumber
    variant {
      1 = color
      2 = size
      3 = description
      4 = gradings
      5 = additional
      6 = color2
      7 = color3
      8 = size2
      9 = size3
      10 = material
      11 = quality
    }
  }

  conf.tt_products_articles.ALL {
    requiredFields = uid,pid,uid_product,price,price2,inStock
  }

  table.tt_products_cat = tt_products_cat
  conf.tt_products_cat.ALL {
    language.type = noTranslation
    orderBy = sorting
  }

  conf.pages.ALL {
    requiredFields = uid,pid,title,shortcut
  	language.type = table
  	language.table = pages_language_overlay
  }

  table.tx_dam = tx_dam
  conf.tx_dam.ALL {
    language.type = noTranslation
    orderBy = sorting
  }

  table.tx_dam_cat = tx_dam_cat
  conf.tx_dam_cat.ALL {
  	language.type = noTranslation
    orderBy = sorting
  }

  debug = {$plugin.tt_products.debug}
  delivery	{
  	0.image < .image
  	0.image {
    	file = EXT:tt_products/res/icons/fe/availableDemand.gif
    	file.maxW = {$plugin.tt_products.maxW_single}
    }
  	1.image < plugin.tt_products.delivery.0.image
  	1.image {
    	file = EXT:tt_products/res/icons/fe/availableImmediate.gif
    }
  	2.image < plugin.tt_products.delivery.0.image
  	2.image {
    	file = EXT:tt_products/res/icons/fe/availableShort.gif
    }
  }

  _CSS_DEFAULT_STYLE (
      .tx-ttproducts-pi1-wrap1 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000; }
      .tx-ttproducts-pi1-wrap2 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #000; }   
  )
}

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


###EXAMPLES

#plugin.tt_products {
#	CMD =
#	pidList =
#	recursive =
#}

  # Example of default set CSS styles (these go into the document header):
#plugin.tt_products._CSS_DEFAULT_STYLE (
#  .tx-ttproducts-pi1 H2 { margin-top: 0px; margin-bottom: 0px; }
#)
  # Example of how to overrule LOCAL_LANG values for the plugin:
#plugin.tt_products._LOCAL_LANG.default {
#  pi_list_searchBox_search = Search!
#}

# Example of how to set default values from TS in the incoming array, $this->piVars of the plugin:
#plugin.tt_products._DEFAULT_PI_VARS.test = test

plugin.tt_products.useArticles = 1
plugin.tt_products.selectColor = 1
plugin.tt_products.selectSize = 1

ich hoffe das hilft!
kann doch eigentlich nur eine einstellungssache sein?!?

danke!

danton ·

hi
das "plugin.tt_products.useArticles = 1" im setup ist nur zu testzwecken oder?
was passiert den wenn du das default-template nimmst z.b. ...variants.tmpl oder wie dat hieß.
und dazu mal nur die wichtigsten ts-einstellungen setzten.

ansonsten.
- sind die passenden zusätzlichen exts installiert?
- stimmt dein html-template? d.h. gibts du da die richtigen variantenname etc an?

ich würde wenn du das alles kontrolliert hast und es immer noch nicht geht auf die neueste tt_products(mit zusätzlichen exts) updaten.

gruß danton

lorrey ·

"plugin.tt_products.useArticles = 1" - testzwecke?

nein, ich dachte das braucht man wenn man artikel (varianten) im system hat?!?
welche zusätzlichen ext?
ich hab nur die dependencies drin.

template ist ein guter tipp, vielleicht fehlt am ende nur ein marker...!

ich teste das mal...

lorrey ·

Es lag an den Templates #angry#

Ich Depp hab wohl ein paar Marker zuviel gelöscht - mit den org. Templates gehts!

Danke für die Hilfe!