| 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!
| |