Reference
| Property: | Data type: | Description: | Default: |
|---|---|---|---|
| templateFile | resource | The template-file. | |
| Constants: file.templateFile |
See example in 'tt_products/template/products_template.tmpl' You can also specify a CODE and ERROR for error cases. (siehe display mode) Example: plugin.tt_products.templateFile = EXT:tt_products/template/example_template_bill_de.tmpl plugin.tt_products.templateFile.LIST = EXT:tt_products/template/products_template_dk.tmpl | ||
| templateSuffix - Setup | string | This suffix is appended to all template's major subparts. | |
| fe | boolean | If FE output is used. You can turn the FE output off. This is usefull for a callback script (see CODE SCRIPT). No template file is needed in this case. | TRUE |
| pid_list | string /stdWrap | The pids from where to fetch categories, products and so on. Default is the current page. Accepts multiple pid's separated by comma. | |
| defaultCode | string |
The default code (see below) if the value is empty. By default it's not set and a help screen will appear. You should not set anything here. Example: plugin.tt_products.defaultCode = HELP | |
| code | string /stdWrap | see chapter 'display mode' | HELP |
| defaultArticleID | int+ | The default article uid number for the single display is used when the link to the script did not contain a 'tt_products[article]' parameter. | |
| defaultProductID | int+ |
The default product uid number for the single display is used when the link to the script did not contain a 'tt_products[product]' parameter. Set this default value when you get an error message like: “GET/POST var 'tt_products[product]' was missing.” | |
| defaultCategoryID | int+ | The default category uid number for the list display is used when the link to the script did not contain a 'tt_products[cat]' parameter. Use this if you want only products of this category displayed in the list view as a default. | |
| defaultPageID | int+ | The default category uid number for the list display is used when the link to the script did not contain a 'tt_products[pid]' parameter. Use this if you use pages as categories and want only products of this category displayed in the list view as a default. | |
| defaultDAMCategoryID | int+ | See defaultCategoryID, but for DAM categories and the 'tt_products[damcat]' parameter. | |
| productDAMCategoryID | int+ | DAM category of products to be used in DAM lists. | |
| rootAddressID | int+ | The upper most address ID from where you want to start to list addresses. | |
| rootCategoryID | int+ | The upper most category ID from where you want to start to list categories. | |
| rootDAMCategoryID | int+ | The upper most DAM category ID from where you want to start to list DAM categories. | |
| rootPageID | int+ | The upper most page ID from where you want to start to list them as categories. | |
| recursive | int+ | Number of recursive sublevels of pids to select tt_products from in lists. | 99 |
| domain | string | The url of the shop. If not set, it will be detected automatically. Will replace ###DOMAIN### markers. | |
| altMainMarkers | (array of strings) |
Lets you specify alternative subpart markers for the various main template designs in the shopping basket system. This is the list of main subparts you can override: Properties: TRACKING_WRONG_NUMBER TRACKING_ENTER_NUMBER BASKET_REQUIRED_INFO_MISSING BASKET_TEMP ITEM_SINGLE_DISPLAY_RECORDINSERT ITEM_SINGLE_DISPLAY ITEM_SEARCH ITEM_LIST_TEMPLATE ITEM_LIST_GIFTS_TEMPLATE ITEM_SEARCH_EMPTY BASKET_TEMPLATE BASKET_INFO_TEMPLATE BASKET_PAYMENT_TEMPLATE BASKET_ORDERCONFIRMATION_TEMPLATE EMAIL_PLAINTEXT_TEMPLATE BILL_TEMPLATE DELIVERY_TEMPLATE /+ stdWrap Example: altMainMarkers.BASKET_TEMPLATE = BASKET_DESIGN2 altMainMarkers.BASKET_TEMPLATE.wrap = ### | ### This example changes the main subpart marker for the regular basket display from the default ###BASKET_TEMPLATE### to the custom supplied design ###BASKET_DESIGN2### (found in the same template HTML-file) | |
| stdSearchFieldExt | list of fields |
Search fields Default internal list is title,subtitle,note. You can specify your default fields here. | |
| limit | int+ | Max items displayed. The maximum number of items displayed on one page. | 50 |
| limitImage | int+ |
Max image items displayed. The maximum number of images for one item displayed on the list view. Deprecated. See article/product configuration Use this instead: | 3 |
| limitImageSingle | int+ |
The maximum number of images for one item displayed on the single view. Deprecated. See article/product configuration Use this instead: | 10 |
| usePageContentImage | boolean |
Deprecated. See article/product configuration Use this instead: type = foreigntable table = tt_content } | |
| separateImage | boolean | Normally all images are displayed together. With separateImage=on you can use a ###PRODUCT_IMAGE3### for each image number (starting with 1) separatly. | |
| image | IMAGE cObject | The image configuration in single display | |
| listImage | IMAGE cObject |
The image configuration in list display listImage > listImage { altImgResource.import = uploads/media/ altImgResource.import.field = media altImgResource.import.listNum = 0 altText.data = field:title } That way, attached images are not copied to and displayed from /typo3temp/ (which gives trouble with transparant backgrounds) but directly linked from /uploads/pics/. The line with altText leads to the drawing of an alternative text. | |
| listImageHasChilds | IMAGE cObject |
DAM only: The image configuration in list display if there is a filter for a category on the page and this category has childs. listImage > listImage { altImgResource.import = uploads/media/ altImgResource.import.field = media altImgResource.import.listNum = 0 altText.data = field:title } see listImage | |
| basketImage | IMAGE cObject | The image configuration in basket display | |
| datasheetIcon | IMAGE cObject / Array of integers (only setup) |
The image icon for the datasheet. Replaces ###ICON_DATASHEET### If it is an array, then it consists of a file type and a file name. Example : plugin.tt_products.datasheetIcon { 10.fileext = pdf 10.file = fileadmin/img/pdf-icon.png 20.fileext = doc 20.file = fileadmin/img/msword-icon.png } | |
| basketPic | string | URL link to the basket image | |
| clickIntoBasket | boolean | If set you will be directed into the basket page after putting a product into the basket. This only works if PIDbasket has been set. | |
| clickIntoList | boolean | If set you will be directed into the list page from the single view after putting a product into the basket. This only works if PIDlistDisplay has been set. | |
| clickIntoSubmenu | boolean |
Deprecated. See onlyChildsOfCurrent and rootChildsOfCurrent of the category configuration If set, the submenues in the LISTCAT category list will only be listed for the current category. | |
| basketMaxQuantity | int+ / string |
The maximum integer value for the quantity of an item in the basket. 'inStock': Only the number of items which are currently in stock can be put into the basket. 'creditpoint': Items can only be put into the basket if the FE user has enough credit points. | 100000 |
| quantityIsFloat | boolean | If set the basket count can be a float value. | |
| noImageAvailable | resource | The image file displayed if no image was attached to a product. This image is processed by the IMAGE cObject which is active in the actual display of that image. That is, one of the above IMAGE cObjects. | |
| displayListCatHeader | boolean |
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. | 1 |
| displayBasketCatHeader | boolean |
Display Category Header in basket. If this option is set, the category headers (page titles) will automatically be displayed in the basket lists. | |
| displayCatListType | string |
Define the HTML main tag for the display of the categories in the category list view. Use the new plugin 'Categories: menu' instead of the former displayCatListType=ul. | ul |
| substitutePagetitle | Int+ |
Set the page title in single view 1 … product title 2 … product subtitle 12 … product title and subtitle 21 … product subtitle and title 3 … bread crumb | |
| displayBasketColumns | int+ |
Deprecated. see table configuration: displayColumns Number of columns for the LIST, SEARCH listing of items in a table. You have to adapt your template using special template markers. The ITEM_SINGLE_PRE_HTML and ITEM_SINGLE_POST_HTML must surround your <td>-</td> tags, so the table will be created correctly. Example: <!-- ###ITEM_SINGLE### begin--> ###ITEM_SINGLE_PRE_HTML### <td height="150" bgcolor="###GC1###" valign="bottom" align="center"> <!--###LINK_ITEM###--> ###GW1B###<b>###PRODUCT_TITLE###</b>###GW1E### <!--###LINK_ITEM###--> <br> ###PRODUCT_IMAGE### <br> ###GW1B### item count: ###GW1E### <INPUT size="3" maxlength="4" type="text" name="###FIELD_NAME###" value="###FIELD_QTY###"> <p> </td> ###ITEM_SINGLE_POST_HTML### <!-- ###ITEM_SINGLE### end --> | |
| CSS | see below | Cascading Stylesheets settings | |
| js | see below | JavaScript settings | |
| conf | see below | configurations of the tables | |
| NoSingleViewOnList | boolean | 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. | |
| itemMarkerArrayFunc | function-name |
Every time a product is displayed be it in the basket, list or single view, the method getItemMarkerArray() in tx_ttproducts_marker is called. This function fills in and returns an array, so called markerArray(), with key/values for template substitution. If you enter a valid function name here (see datatype 'function-name' for details!) that array will be passed to that function as the second parameter. The first parameter will be the TypoScript properties to itemMarkerArrayFunc. Parent PHP-Object reference: .parentObj property is hardcoded to be a reference to the calling user_products object (PHP). Example: (provided that a function or class is included!) itemMarkerArrayFunc = user_addFieldsMarkerArr itemMarkerArrayFunc.simpleOption = 1 | |
| PIDitemDisplay | int+/Array of integers |
PID for single item display. If you want a certain page to be used for display of item details, please enter the PID (page-uid) here. If you set the type to sql, you can use conditions using several lines. The where string can contain the AND condition. The pid for the first fulfilled condition will be returned. PIDitemDisplay { 10.type = sql 10.where = color=red 10.pid = 142 20.type = sql 20.where = color=white 20.pid = 143 } If you set the type to pid then the pid of the record will be used. PIDitemDisplay { 10.type = pid } | |
| PIDlistDisplay | int+/Array of integers |
PID for the item list display Similar to PIDitemDisplay, however the category table is used here. | |
| PIDsearch | int+ |
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 display mode "Products: search" on that page. | |
| PIDbasket | int+ |
PID for the basket page. If you want ever change the number of items anywhere to go to a specific page (eg. the shopping basket page), enter the PID here. | |
| PIDstoreRoot | int+ |
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. You should better set pid_list instead of it. | |
| PID_sys_products_orders | int+ | PID for the sys_products_orders records. By default they will get the pid of the payment (finalize) page. | |
| PIDGiftsTable | int+ | PID for the tt_products_gifts table. The gift orders are stored here. | |
| PIDinfo | int+ | PID for the info page where name and address is entered. | |
| PIDpayment | int+ | PID for the payment page where name where the address is checked and the order is confirmed by the customer. You could change to a payment gateway from here. | |
| PIDfinalize | int+ | PID for the finalization page afther the user has confirmed the order data. The order will get stored here. | |
| PIDthanks | int+ | PID for the thanks page. BASKET_ORDERTHANKS_TEMPLATE will be used. You must not set PIDfinalize if you use this. | |
| PIDtracking | int+ | PID for the order tracking | |
| PIDbilling | int+ | PID for the generation of the bill | |
| PIDdelivery | int+ | PID for the generation of the delivery sheet | |
| PIDmemo | int+ | The ID of the memo page | |
| PIDagb | int+ |
The PID of a page with the general trading conditions (“AGB” in germany) Only if this page id is set the AGB check will be active. | |
| PIDrevocation | Int+ | The PID of a page with the right of revocation. | |
| PIDuserFolder | int+ | The sysfolder, where the new users should be stored | 116 |
| pidsRelatedProducts | int+ | Allowed pages for related products. | |
| pidsAddresses | int+ | Allowed pages for addresses | |
| UIDstore | int+ | comma separated list of UIDs of the tx_party_addresses table (or fe_users) with the data of the shop. | |
| paymentActivity | string | When the payment with a payment script shall be executed. Possible values: payment, finalize, verify | finalize |
| advanceOrderNumberWithInteger | int+ |
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] to cheat a little. Example: 5,5 (This will increment the counter with 5 each time) | |
| alwaysAdvanceOrderNumber | boolean | If set then the order number will always get increased and the empty order numbers are not reused. You have to set this if you use a payment script to pay via a payment system which does not accept duplicate order numbers. | |
| alwaysUpdateOrderAmount | boolean | If set then the entered order amount will always be updated and not increased by the entered number. | 1 |
| parseFunc |
->parseFunc not used with 'CSS styled content' |
If the extension 'CSS styled content' has been installed, you have to make your settings in lib.parseFunc_RTE and not here. The product details are parsed by these properties. So if e.g. you want ot allow HTML-tags to create a table in the Note field you have to set the parseFunc.allowTags or use the denyTags. To make RTE working with HTML you have to set the following into the root page template. Example: keepNonMatchedTags = 1 RTE.default.proc.preserveTables = 1 Example: | styles.content.parseFunc |
| categoryHeader | cObject |
Generates the category header. Example: categoryHeader = TEXT categoryHeader.current = 1 | |
| breadcrumb | cObject |
Generates a breadcrumb line. Example: breadcrumb = | |
| TAXpercentage | double |
Sales TAX/VAT percentage. Double value (!) (means, "use . as decimal point") Example: # Danish sales TAX is 25%: TAXpercentage = 25.00 | |
| TAXincluded | boolean |
Set this, if TAX is included in the database prices! ( ... and of course: Clear this, if TAX is not included in the database prices and should be added in the display of items) All profieldLinkcessing will take this flag into account and calculate prices accordingly. | 1 |
| TAXrates | string | Comma separated list of tax rates. The first will be taken as tax A, the second as tax B aso. | |
| TAXmode | int+ |
tax mode 1: The net sums are added first. The tax is added on the final total net sum. 2: The gross price is calculated for every product. The total sum is calculated on the single gross prices. | 1 |
| priceDec | int+ | Price decimals | |
| priceDecPoint | string | Price decimal point | |
| priceThousandPoint | string |
Price Thousand point Enter the thousand separator, if any. | |
| noZeroDecimalPoint | boolean | If set then no decimal point is shown for integers. | |
| priceNoReseller | int+ S |
Price number for reseller, which can only be 2 at the moment. The price2 will however only be taken when its value is greater than 0. Here is the way to get the price2 for a special user group: Example: [usergroup = 1] priceNoReseller = 2 [global] ... | |
| percentDec | int+ | Number of shown decimals of percentage values | |
| percentDecPoint | string | Percentage decimal point | |
| percentThousandPoint | string |
Percentage Thousand point Enter the thousand separator, if any. | |
| percentNoZeroDecimalPoint | boolean | Percentage: If set then no decimal point is shown for integers. | |
| currencySymbol | string |
Currency symbol. Used in shop administration. Example: EUR DKR USD $ | |
| lockLoginUserInfo | boolean | If set and a user is logged in, the address info of that fe_user gets filled in as billing address of the user. It is not possible to change this data. | 1 |
| editLockedLoginInfo | boolean | If set and lockLoginUserInfo is set, then the filled in data is still editable for the order. You have to set the input HTML tags for this. | |
| loginUserInfoAddress | boolean | If lockLoginUserInfo is set, this switch makes that the address field is filled in from address, country, zip and city of the fe_user | |
| requiredInfoFields | list or array of string | List of the fields which are re‑quired in the address information This example gives you all possibilities. | |
| setup |
Example: requiredInfoFields = name,address,telephone,fax,email,company,city,zip,state,country The subvalues 'billing' and 'delivery' are possible. Example: requiredInfoFields.delivery = name,address | ||
| orderBy | string |
Deprecated. See Article/Product configuration Use this instead: | |
| orderByCategoryTitle | boolean | Deprecated. Use this instead: | |
| orderByItemNumberSg | boolean | Deprecated. Use this instead: | |
| orderNumberPrefix | string | Prefix to the order numbers. Max 10 chars. If this string starts with '%' then the rest will be interpreted as a PHP date format. | |
| orderEmail | array |
This defines additional confirmation emails containing suffixes, sender and receiver email addresses. from ... 'shop' will fetch orderEmail_from, 'customer' will fetch the customer email address. to ... email of the receiver suffix ... suffix to the '###EMAIL_PLAINTEXT_TEMPLATE_###' subpart. returnPath ... email address to use in the case of a failure to send the email Example : plugin.tt_products.orderEmail { 10.suffix = factory 10.from = shop 10.to = seller1@webshop-typo3.com 10.attachment = bill 20.suffix = logistic 20.from = customer 20.to = seller2@webshop-typo3.com 20.attachment = bill } It is possible to send confirmation emails to the email address stored in a foreign table and where a foreign key has been added to the table fe_users. Example : plugin.tt_products.orderEmail { 10000.suffix = shop 10000.from = customer 10000.to { table = fe_users field = key_field foreign_table = my_table foreign_field = my_table_key_field foreign_email_field = my_table_email } } A SQL comparison will be made to fetch the email address: SELECT my_table_key_field FROM my_table WHERE my_table_key_field = $content_of_fe_users_key_field; | |
| orderEmail_bcc | string | BCC for the shop admin's order confirmation | |
| orderEmail_from | string | From email address for the confirmation email to customer | |
| orderEmail_fromName | string | From name for the confirmation email to customer. | |
| orderEmail_to | list of email-addresses | Comma separated list of recipients of the order email. Shop and administrator/supervisor email addresses go here! | |
| orderEmail_toAddress | boolean | If set, then the order email is sent to all addresses which are connected to the products in the basket. | |
| orderEmail_radio | array of radio button number and email adresses |
Comma separated list of recipients of the order email if a radio box has been selected. The number is the radio box and the second number is the selected value. Example: orderEmail_radio { 1.2 = inform@mytypo3site.de } | |
| orderEmail_toDelivery | boolean | If set, the email notification will be sent to the delivery email address and not to the billing email address. | |
| orderEmail_subject | string | Contents of the subject line if the first line in ###EMAIL_PLAINTEXT_TEMPLATE### is empty. | |
| orderEmail_returnPath | string | Fills the 'Return-Path' of the email header. If the email of the recipient is invalid then the message will be sent to this address. | |
| orderEmail_htmlmail | boolean / string | If set, the order confirmation email is sent as HTML If orderEmail_htmlmail.removeImagesWithPrefix is set, then the images and their HTML tags will not be sent in an email. | |
| orderEmail_apostrophe | string | Use these characters as apostrophe in the order email subject. | |
| orderEmail_order2 | boolean | If set, the shop admin receives 2 email order confirmations. The same email like the customer with EMAIL_PLAINTEXT_TEMPLATE and also the one only for shop admins EMAIL_PLAINTEXT_TEMPLATE_SHOP if available. | |
| email_notify_default | boolean | If email-notification to the delivery email address of the customer is enabled by default for tracking (he can change it himself in the tracking module later) | |
| statusCodes | Array of integers |
Status codes used in the tracking module. Numbers above 100 removes the order from the tracklist. Number zero is the status of a non-finalized order (and non-finalized orders in the database may by time be regarded as garbage...) Numbers of 50-59 is available for the customer to choose from. Number 1 is reserved to be selected when an order goes from zero to 1 because it's confirmed. Number 1 cannot be selected by shop admin. These will be written into ###STATUS_OPTIONS### markers. Example: statusCodes { 1 = Order submitted by user 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 payed 20 = Goods shipped to customer 21 = Gift certificates shipped to customer 30 = Other message from store 50 = Customer request for cancelling 51 = Message from customer to shop 60 = Send gift certificate message to receiver 100 = Order shipped and closed 101 = Order closed 200 = Order cancelled } | |
| update_code | string |
The 'password' used by the administrator of the shop to go into the tracking system in the front end. The password form field will appear if a BE_USER is logged in, but this password is still needed. | password |
| statusDate_stdWrap | ->stdWrap |
stdWrap for status date Example: statusDate_stdWrap.strftime = %d-%m-%Y %H:%M | |
| orderDate_stdWrap | ->stdWrap |
stdWrap for the order date Example: orderDate_stdWrap.strftime = %d-%m-%Y | |
| usebyDate_stdWrap | ->stdWrap | stdWrap for the useby date | |
| cardEndDate_stdWrap | ->stdWrap | stdWrap for credit card end time date | |
| displayCurrentRecord | boolean |
If set, certain settings are manipulated in order to let the script render a single item - the $cObj->data. If this setting is set, the subpart marked ###ITEM_SINGLE_DISPLAY_RECORDINSERT### will be used instead of the regular subpart ###ITEM_SINGLE_DISPLAY### if it is found. | |
| externalProcessing | cObject |
This cObject may be used to call a function which manipulates the shopping basket. This manipulation could be based on settings in an external order system. The output is included in the top of the order (HTML) on the basket-page. This cObject is executed each time the main_products method of the user_products class in productsLib is called and it's executed before any of the main processing. See the class for details. | |
| externalProcessing_final | cObject | cObject for the final order confirmation template | |
| externalFinalizing | cObject |
This cObject may be used to call a function which clears settings in an external order system. This is a sister to the above function and they should probably be used in conjunction somehow. This function is called immediately after the finalize-function has been called. For instance this function would be suitable for clearing any external basket facilitated by the .externalProcessing cObject Note: The output is NOT included anywhere. | |
| wrap1 | -> stdWrap |
Global Wrap 1. This will be splitted into the markers ###GW1B### and ###GW1E###. Don't change the input value by the settings, only wrap it in something. Example: wrap1.wrap = <b> |</b> | |
| wrap2 | -> stdWrap | Global Wrap 2 (see above) markers ###GW2B### and ###GW2E### | |
| wrapInBaseClass |
boolean S | If true the output will be wrapped with <div class="tx-ttproducts-pi1"> | </div> | 1 |
| wrapInCode |
boolean S |
If set, then the output will be wrapped by <!-- START: tt-products-code-uid --><div id="tt-products-code-uid"> |<text:bookmark text:name="line764"/></div><!-- END: tt-products-code-uid --> . 'code' will be replaced by the code of the plugin. uid will be replaced by the field 'uid' of the table tt_products. | 1 |
| selectColor | integer | If true the colour of a product is selectable in a select box. | 1 |
| selectColor2 | integer | If true the 2nd colour of a product is selectable in a select box. | 1 |
| selectColor3 | integer | If true the 3rd colour of a product is selectable in a select box. | 1 |
| selectSize | integer | If true the size of a product is selectable in a select box. | 1 |
| selectSize2 | integer | If true the 2nd size of a product is selectable in a select box. | 1 |
| selectSize3 | integer | If true the 3rd size of a product is selectable in a select box. | 1 |
| selectDescription | integer | If true the description of a product is selectable in a select box. | 1 |
| selectGradings | integer | If true the gradings of a product are selectable in a select box. | 1 |
| selectMaterial | integer | If true the material of a product are selectable in a select box. | 1 |
| selectQuality | integer | If true the quality of a product are selectable in a select box. | 1 |
| color1 | string /stdWrap | Value for ###GC1### marker (Global colour 1) | |
| color2 | string /stdWrap | Value for ###GC2### marker (Global colour 2) | |
| color3 | string /stdWrap | Value for ###GC3### marker (Global colour 3) | |
| nl2brNote | boolean | If true the linefeeds in the note field are replaced by <br />. | 1 |
| useArticles | integer | ||
| keepProductData | boolean |
If true, the product data are kept in the article markers if they are not empty and if the product is merged with a corresponding article which fits in the variant fields. Only used if useArticles = 3. | 1 |
| noArticleSingleView | boolean | If true, then no article single view is used. Articles are instead linked to the product single view and the corresponding variant selection is shown. | 1 |
| priceTagObj | IMAGE cObject | Image for the display of the price | |
| usePriceTag | boolean | If true, the priceTagObj will be used. If false, the text will be displayed. | |
| useStaticInfoCountry | boolean | If true the short fe_users static_info_country field will be used for country instead of the country field. | |
| useStaticTaxes | boolean | If true, the tax will be determined from the country and region by the extension static_info_tables_taxes. UIDstore must be set. | |
| whereGift | string | This SQL where clause defines which products will be treated as gifts. | |
| whereGiftService | string | This SQL where clause defines which products will be treated as gift services. | |
| max_note_length | int+ |
Deprecated. See Article/Product configuration Use this instead: formerly: In the list view: The item note will be cut after max_note_length characters, and three dots are added... This can be dangerous if you use html in your product notes, because a tag could stay open and the following items look ugly | 10000 |
| specialPreparation | string | This text will substitute your ###PRODUCT_SPECIAL_PREP### markers. | |
| createUsers | boolean |
If you set this and PIDuserFolder, for each customer that is not logged in and his email address is not listed as user already, a new frontend user will be created. An email with the username (his e-mail address) and the password will be sent to him (see ###EMAIL_NEWUSER_TEMPLATE###) | |
| useMd5Password | boolean |
Enable md5 password encryption. Note: If set, passwords will be encrypted. Consider to install an extension like kb_md5fepw and the newloginbox. | |
| outputFolder | string | Folder where the bill and delivery sheets are created. | fileadmin/data |
| memberOfGroup | int+ | The ID of the frontend user group, the new users should be member of | 1 |
| discountGroupName | string | Name of the group for discount pricecalculation | |
| getDiscountPrice | boolean | If set the discount price will be used even for normal customers without having a frontend user in the discount group. | |
| discountPriceMode | integer |
If unset, then the price field is used as the base to calculate the discount: discount = (price – price2) / price where price contains no discounts set to 1: discount = (price2 – price) / price2 where price contains the discounts This is only needed for setting the behavior of the price2 markers. | |
| discountFieldMode | integer |
If set the discount field in the product and category table will be used to get a reducted price for a product. Modes: 1 ... the highest discount from product and categories will be used 2 ... use the product discount if set, otherwise use the highest hierarchical category discount which is set. | |
| AGBtarget | small | The target for the PIDagb link | _blank |
| AGBattachment | resource | If this file exists, it will be attached to the order confirmation email to the customer. The shop administrator won't receive the agb attachment, but the CSV if you enable it | fileadmin/agb.pdf |
| GiftAttachment | resource | If this file exists, it will be attached to the order gift email to the customer. | |
| generateXML | boolean | Generates a XML file from each order. This file will be saved on the server and sent to the shop administrator per email (with the order confirmation) | |
| XMLdestination | resource |
The directory on the server, where the XML files should be saved. This directory should not be accessible over http, because everyone can read your customers and their orders. So don't put this directory unter fileadmin, or rename it to something cryptical at least. | ../xmlorders/ |
| generateCSV | boolean | Generates a CSV file from each order. This file will be saved on the server and sent to the shop administrator per email (with the order confirmation) | |
| CSVdestination | resource |
The directory on the server, where the CSV files should be saved. This directory should not be accessible over http, because everyone can read your customers and their orders. So don't put this directory unter fileadmin, or rename it to something cryptical at least. | ../csvorders/ |
| CSVfields | string | Select which product data should be added to the CSV. By default these are all important fields except the note | (Long, long list) |
| CSVinOneLine | boolean |
If you set this to 1, all additional information (shipping, payment, address data, delivery note) will be appended to the first ordered item. This is good if you want to import this files somewhere. If you leave this at 0, the file will be formatted for best view in programs like Excel. | |
| CSVnotInEmail | boolean | If set no csv file will be appended to the email. | |
| alwaysInStock | boolean | If set the stock will not get reduced if something has been bought. | 1 |
| showNotinStock | boolean | If set the items will be shown even if no product is in the stock. | |
| notInStockMessage | string | See above. This will be shown if no items are in stock and showNotinStock is set. | Not in stock |
| warningInStockLimit | int+ | Amount of items in stock at which when reached a warning message is sent. | |
| inStockPieces | string | This is the unit for items inStock. | pieces |
| newItemDays | int+ | In LISTNEWITEMS, the newly added items of the last n days will be showed | 7 |
| bulkilyWarning | string | Text for ###BULKILY_WARNING### for bulk goods | |
| bulkilyAddition | int+ |
See shipping. Factor to multiply with a product which is bulkily | |
| bulkilyFeeTax | int+ |
See shipping. Tax fee in percent for shipping of bulkily | |
| javaScript | array of integers |
Some JavaScript which will be included for ###JAVASCRIPT_10### markers. Example: javaScript { 10.value = function addValues (a, b) { return a+b; } 20.value = function multiplyValues (a, b) { return a*b; } } | |
| payment / shipping | (see below) |
Configuration of payment and shipping methods, their values and costs and additional calculation scripts and payment gateways. See description below! |
[tsref:(script).class.tt_products.php]