.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ========================== EXT: Webformat Shop System ========================== :Author: Kasper Skårhøj :Created: 2002-11-01T00:32:00 :Changed: 2010-01-11T16:51:09.270000000 :Author: Mauro Lorenzutti - Webformat srl :Email: mauro.lorenzutti@webformat.com :Info 3: :Info 4: .. _EXT-Webformat-Shop-System: EXT: Webformat Shop System ========================== Extension Key: **extendedshop** Copyright 2000-2009, Mauro Lorenzutti - Webformat srl, This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.com .. _Table-of-Contents: Table of Contents ----------------- **EXT: Webformat Shop System 1** **Introduction 1** What does it do? 1 Screenshots 2 **Tutorials 3** Product management 3 Buying procedure 4 Payment methods 4 Shipping methods 5 Orders tracking 5 In stock management 5 **Records descriptions 5** Product records 5 Shipping destinations record 6 Shipping methods records 6 Order and Order rows records 6 Order status records 6 Added fields on tt\_address, fe\_user and fe\_groups 6 **Plugin configuration 6** Change images appearance 7 Mini basket 8 Ajax functionalities 8 **Configuration 8** Constants 8 Setup 9 **Hooks 11** Basket hooks 11 Order custom fields hooks 11 Product custom fields hooks 11 User custom fields hooks 12 FE hooks 12 FE orders management hooks 12 **Known problems 12** **To-Do list 12** **Changelog 12** **Thanks to 13** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ This is a new version of the Webformat Shop System extension with new features in the presentation of products and the management of the orders. This is a small list of the features available: \- management of offer price e discount \- management of colour and size options \- advanced management of orders \- cache for product pages \- Real URL ready \- VAT management \- FE orders tracking \- in stock management \- products categories \- static address and page title for the products \- support for multilanguage \- ... Besides the shop provides a locallang file with the translation of all the labels in the template. So, if you want a new language, you have to modify only the locallang.php file and not the template. .. _Screenshots: Screenshots ^^^^^^^^^^^ Backend orders management: |img-1| Frontent list orders: |img-2| Frontend order detail: |img-3| .. _Tutorials: Tutorials --------- First of all install the dependencies: toi\_category, tt\_address, static\_info\_tables. We suggest to install also sr\_feuser\_registration to manage your customers identities. If you want to use ajax functionalities xajax extension is required. Now you can import and install Extended Shop. .. _Products-management: Products management ^^^^^^^^^^^^^^^^^^^ Let's create the products pages Insert the Extended Shop plugin into your products page and set the view mode to 'product list'. If the products are located into another page you need to set the Starting Point. You can already insert some products. In list module create a new “WebformatShop – Products” record. Required fields are item-number and title.There are a lot of useful fields (size, color, images etc.), for a detailed description look at the “Product records” section. You can use another page as detailed view: Create a new page, insert the Extended Shop plugin and set view mode to 'product page'. Set the pidProductPage TypoScript constant to the uid of this page. You can also create references to other products in the same category or from the same supplier: Create the categories you want with the toi\_category extension, then create the associations with the products Create a new page, insert the Extended Shop plugin and set view mode to 'category page'. Set pidCategoryPage constant to this page. Create the suppliers as website users, and join them with the related products Create a new page, insert the Extended Shop plugin and set view mode to 'supplier page'. Set pidSupplierPage constant to this page. To see more view modes for the Extendedshop plugin go to'Plugin configuration'section. .. _Buying-procedure: Buying procedure ^^^^^^^^^^^^^^^^ Let's start creating the required pages for the buying procedure. In this tutorial we'll use sr\_feuser\_registration for user registration . Create a sysfolder and call it Orders, then set the pidOrders constant to this folder Create another sysfolder to store users and set the pidUsers constant to this folder Create a new page for the cart, into this page insert the Extended Shop plugin and set View mode to basket Set pidBasket constant to this page From now on the customer must be logged in, so create a new page and insert the frontend login plugin for the login of already registered users, and the sr\_feuser\_registration plugin for allow new clients to register.Insert the Extended Shop plugin and set View mode to User Registred, set the access property to the customers group. Set pidUserInfo constant to this page Create a new page, insert the Extended Shop plugin and set View mode to Payment. Set pidPayment constant to this page Create a new page, insert the Extended Shop plugin and set View mode to Finalize. Set pidFinalize constant to this page Now you have to configure the payment and the shipping methods. Default ones are bank transfer and cash on delivery. Go to 'Payment methods' and 'Shipping methods' section to know more. .. _Payment-methods: **Payment methods** ^^^^^^^^^^^^^^^^^^^ Default methods available are bank transfer and cash on delivery. This is the typoscript setup to modify plugin.tx\_extendedshop\_pi1.payment{10.title=Bank Transfer10.message= Insert here the information for the payment10.image.file=10.priceTax=10.priceNoTax=20.title=Cash on delive ry(+3,00EURO)20.image.file=20.priceTax=3,0020.priceNoTax=20.maxAmount= 10020.minAmount=50} \- title: labels for radio input \- message: text shown in finalize page \- image.file: path of an image to be shown near radio input \- priceTax: price increment when this option is choosen \- priceNoTax: same as before, but without taxes \- maxAmount: max total products price for this option to be available \- minAmount: min total products price for this option to be available There is also the opportunity to use other preconfigured payment gateways like “Credit Card with PayPal”, “Credit Card with Banca Sella” and “Credit Card with Hosted Payment Page” by installing, respectively, these extensions: wss\_paypal, wss\_bancasella and wss\_constriv. .. _Shipping-methods: Shipping methods ^^^^^^^^^^^^^^^^ You can choose different Shipping methods and costs for any country you like. Static\_info\_tables is required for this section Create a new page (a sysfolder is suggested) where shipping methods should be stored. Into this page create a 'shipping country' record and select country (e.g. Italy). Click on 'create new' into the new shipping country form, open and fill the newly created record with at least a title (ie the carrier name) and the price. Now all customers from Italy will have this shipping method available during their buying procedure. You can add a lot of different shipping methods for the same country. You can also use preconfigured shipping methods like “DHL Shipping method” by installing the extension wss\_dhl. .. _Orders-tracking: Orders tracking ^^^^^^^^^^^^^^^ The new amazing feature of this version is the orders tracking for Frontend users. It's only available if you used some kind of external user management extension instead of the integrated one. Create a new page and set the Access to the registered customers group. Insert the Extended Shop plugin and set View mode to Orders Info. Now your customers can see a list of their orders, the status of the pending ones, and leave a comment for you. .. _In-stock-management: In stock management ^^^^^^^^^^^^^^^^^^^ You can activate the “in stock functionality”, so the products will be automatically non more available when stocks are out. Go to your typoscript constants editor and set enable\_instock\_management to 1. Disable cache for the extension, otherwisesold out product's won't disappear. Setplugin.tx\_extendedshop\_pi1 to USER\_INT into your template's setup. Fill the 'in stock' field into the product records with the stock quantity. That's all, you'll get an email when a product runs out. .. _Records-descriptions: Records descriptions -------------------- .. _Product-records: Product records ^^^^^^^^^^^^^^^ To insert a product you can follow the link “Create new record” and select “WebformatShop - products”. There are a lot of fields you can use: - Itemnumber: the code of the product (required) - Title: the name of the product (required) - Page title:the title of the page in the detail page of the product. If empty than the “Title” of the product will become the page title. This is true only if you have configured in the TypoScript this functionality. - Summary: a short description of the product. - Description: a complete description of the product. - Image: the product images. - Price: the product price.The point (.)is the decimal separator. Warning: if you want to insert the value ‘155.20’ you must write ‘155.2’, if you don’t follow this tip TYPO3 will generate a warning message. - VAT: Value Added Tax. You have to create some “VAT option” record in a Sys Folder - In stock: number of items available for selling. - Category: the category of the product. You must use toi\_category extension for this purpose - www: an external url. - Ordered: shows the number of orders for this product. - Weight: weight of the product. Soon the wss\_dhl extension will be available for the automaticreckoning of the shipping price for the DHL carrier. - Volume: volume of the product. Soon the wss\_dhl extension will be available for the automaticreckoning of the shipping price for the DHL carrier. - Offer price:the new price. If this field is filled, the new price of the product is this and the discount percentage will be calculated automatically. - Discount:the percentage of discount. If this field is filled, the offer price will be calculated automatically. To be used only if offer price is empty. - Sizes: the sizes of the product. If more then one the values need to be separated be the special character “!” - Colors: as for sizes. - Correlated products: the products that are correlated with this. You can select them from the list of the existing products. - Documents list: you can include brochures or digital documentation relative to the product - Document labels: here you can specify the labels displayed for related documents separating them with new line. - Correlated pages: select one or more pages of your website which are related with this product - Direct Price: price made to you by the supplier. - Supplier: select here the supplier from a list of website users - Thumbnails type: select which configuration to apply to images. For more information look at the 'Images configuration' section - Categories: you can assign some toi\_categories to the products to let you organize them when you use 'Category Mode' in the plugin. - Max items for order: you can define the maximum number of items at time that can be ordered. You have the possibility to increase the number of fields available for the product, see 'Adding product fields' section. .. _Shipping-destinations-record: Shipping destinations record ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Here you can choose witch shipping methods are available in different countries (chosen from static\_info\_tables records). So a user coming from a particular country can choose only the shipping methods available on that country) - Country: drop-down selector box with a list of countries coming from static\_info\_tables records. - Shipping methods: here you con create shipping methods records that will be available for that country .. _Shipping-methods-records: Shipping methods records ^^^^^^^^^^^^^^^^^^^^^^^^ Those records are to be created only into “Shipping destinations” record creation form to let you assign them to different countries. The “Shipping methods” records consist on these fields: - Title: the name that identify the shipping method (required) - Description: a brief description of the shipping method - Image: a logo that will be shown when the user have to choose the shipping method - Price: the cost of that particular shipping (with or without Tax) .. _Order-and-Order-rows-records: Order and Order rows records ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ These records are created by theFE plugin when a user complete the buying procedure, organizing them in sysFolder tree (1 :sup:`st` level: year, 2 :sup:`nd` level: month). So the usual behavior is not to create them by your self, but only to modify some fields if there is the need (ex: choosing the “Order Status” for the shipping steps like 'Ready to shipment', 'Shipping', 'Arrived'). .. _Order-status-records: Order status records ^^^^^^^^^^^^^^^^^^^^ To let you define the different “Order status” available in Order records. In this record you can set the name of Shipping method and the Priority. .. _Added-fields-on-tt-address-fe-user-and-fe-groups: Added fields on tt\_address, fe\_user and fe\_groups ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This extension adds some files on ff\_address, fe\_users and fe\_groups tables. The most interesting are: - User/Group discount: used to define a discount to some FE users or groups - Private: user to choose if the FE user is a private or a company - VAT code: defines the VAT code for a user or a address record .. _Adding-product-fields: Adding product fields --------------------- The simplest way to add field on products records extending the tx\_extended shop table is to create a small extension that will define the required fields in the database and the TCA. Your small extension will not contain any plugin or other processing. The Extension Repository Kickstarter (kickstarter) extension is a wizard that will help you create this small extension. Install it using the Extension Manager. Once installed, you access the Kickstarter Wizard through the Extension Manager Backend module. There is a tutorial on how to use the Kickstarter Wizard. Just remember that you will not need to create any plugin or TypoScript. Once your extension is created, install it. This will make the fields you have defined available to all other extensions. .. _Add-the-fields-in-the-HTML-template: Add the fields in the HTML template ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You need to update the HTML template in order to include the fields you have defined (remember to use upper case for field name). The model for markers you have to use in the HTML template is like ###PRODUCT\_[fieldName]### for the value of field and ###LABEL\_[fieldName]### for the label. You have also to add language labels for the additional database fields, adding those lines to TypoScript Setup: plugin.tx\_extendedshop\_pi1.\_LOCAL\_LANG.[languageCode].LABEL\_[fiel dName] = [fieldLabel] .. _Plugin-configuration: Plugin configuration -------------------- You have to insert the plugin “Advanced Shop System” like a normal page content and then you have to specify a type of visualization (in the view mode, general settings tab). There are 15 possibilities: - Product list: displays a list of the product in the 2 ways, list and table (table mode is deprecated). It also displays the details view for the single product. - Single Product: displays only the detailed view for the product - Offers: displays a list of products with the offer price filled - Search: a simple search field - Advanced Search: more fields for your research - Orders info: users can view their order's status - Basket: displays the list of the products in the cart - User info: displays data of the logged in user - Payment: here you can choose payment and shipping methods - Finalize: display the order's final summary - User Registered: displays data of the logged in user - Product page: displays only the detailed view for the product - Category page: choosing one or more categorie in the 'Category Settings' tab, a list of product from selected categories will be shown. - Supplier page: a list of products from the same supplier. - Latest products: displays latest inserted products, you can choose how many in the Latest settings tab. Look at the Tutorials section to know how to use some of these modes. If products are stored in a different page you need to select it in the Starting point or if you are using the “Category mode” you always have to choose the products categories you want to be listed. .. _Change-images-appearance: **Change images appearance** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Every product can be associated with more than one image, so there's the possibility to create a different appearance for every photo you selected. Following the order in the product record selection box, first image will be created by the default typoscript configuration: plugin.tx\_extendedshop\_pi1.{image{file.maxW=250imageLinkWrap={$plugi n.tx\_extendedshop\_pi1.clickEnlarge}imageLinkWrap{enable=1bodyTag=wrap=\|width=400JSwin dow=1JSwindow.newWindow=1JSwindow.expand=17,20}}} For the following ones you can create your own typoscript code. Use image2 for the second image, image3 for the third and so on. For example: if you want the first image to be 200px wide , and all others images 100px, insert into your custom template this code: plugin.tx\_extendedshop\_pi1.{image{file.width=200}image2{file.width=1 00}} image2 configuration applies to the second image and to all the following ones. Same rules apply on this images: \- plugin.tx\_extendedshop\_pi1.listImage: these are the thumbnails in the product list view mode -plugin.tx\_extendedshop\_pi1.correlatedImage: images of the correlated products If you want all images in a particular product to have the same apperance you created for image2, you can use the Thumbnails type field in the product record. Simply insert image2 in the field. .. _Mini-basket: **Mini basket** ^^^^^^^^^^^^^^^ A plugin to show a mini-basket in your website is also available. This is a typoscript setup integration example : page.20 < plugin.tx\_extendedshop\_pi2 If you make any change to the configuration of this plugin (ie you want to use a custom html file as template) add this row after your modifications: plugin.tx\_extendedshop\_pi1.minibasket\_conf < plugin.tx\_extendedshop\_pi2 .. _Ajax-functionalities: **Ajax functionalities** ^^^^^^^^^^^^^^^^^^^^^^^^ Webformat Extended Shop allows asynchronous calls for product navigation and mini-basket updating, to use ajax functionalities you have to install xajax library extension for TYPO3. **Product preview** You can have the datailed view of the product directly into the list view, instead of loading another page. In your template setup add this row: plugin.tx\_extendedshop\_pi1.xajax\_preview = 1 if you still want to have a link to the detail page you can add this in your template setup: plugin.tx\_extendedshop\_pi1.xajax\_preview.linkTitle = 0 then create a new link into the shop.html file done as this: Preview **Mini-basket update** To have the minibasket auto-updating when a new product is putted into the cart insert this row In your template setup: plugin.tx\_extendedshop\_pi1.xajax\_cart\_update = 1 Update is connected with a visual effect.. Default animation in inside the page, otherwise you can activate a full page message. For the second one add this row in your template setup: plugin.tx\_extendedshop\_pi1.minibasket\_lightbox = 1 .. _Configuration: Configuration ------------- .. _Constants: Constants ^^^^^^^^^ plugin.tx\_extendedshop\_pi1 .. ### BEGIN~OF~TABLE ### .. _file-templateFile: file.templateFile """"""""""""""""" .. container:: table-row Property file.templateFile Data type String Description Template file Default EXT:extendedshop/pi1/shop.html .. _file-cssFile: file.cssFile """""""""""" .. container:: table-row Property file.cssFile Data type String Description CSS file Default EXT:extendedshop/pi1/stileShop.css .. _file-cssMail: file.cssMail """""""""""" .. container:: table-row Property file.cssMail Data type String Description This is the style file to be used in the order confirmation Default EXT:extendedshop/pi1/stileShop.css .. _priceDec: priceDec """""""" .. container:: table-row Property priceDec Data type Numeric Description Number of decimals Default 2 .. _priceDecPoint: priceDecPoint """"""""""""" .. container:: table-row Property priceDecPoint Data type string Description Decimal separator Default , .. _priceThousandPoint: priceThousandPoint """""""""""""""""" .. container:: table-row Property priceThousandPoint Data type String Description Thousand separator Default . .. _clickEnlarge-list: clickEnlarge\_list """""""""""""""""" .. container:: table-row Property clickEnlarge\_list Data type Boolan Description Set to 1 if you want to open a popup when the user clicks over the image in the list mode. If 0 the image is a link to the detail of the product Default 0 .. _clickEnlarge: clickEnlarge """""""""""" .. container:: table-row Property clickEnlarge Data type Boolean Description Set to 1 if you want to open a popup when the user clicks over the image in the detail mode Default 1 .. _listMode: listMode """""""" .. container:: table-row Property listMode Data type Boolean Description 0 for the sequential listing, 1 for the table listing. Default 0 .. _listMaxItems: listMaxItems """""""""""" .. container:: table-row Property listMaxItems Data type Numeric Description If modeImage==0, this is the max number of items to show in a page. (list mode) Default 5 .. _columnWidth: columnWidth """"""""""" .. container:: table-row Property columnWidth Data type Numeric Description Min-Width of the column (table mode) Default 140 .. _numColumns: numColumns """""""""" .. container:: table-row Property numColumns Data type Numeric Description Number of products for row (table mode) Default 4 .. _numRows: numRows """"""" .. container:: table-row Property numRows Data type Numeric Description Number of rows for page (table mode) Default 2 .. _pidBasket: pidBasket """"""""" .. container:: table-row Property pidBasket Data type Numeric Description Page where the plugin with view mode = 'basket' is located Default .. _pidUserInfo: pidUserInfo """"""""""" .. container:: table-row Property pidUserInfo Data type Numeric Description Page where the plugin with view mode = 'User info' is located Default .. _pidOrders: pidOrders """"""""" .. container:: table-row Property pidOrders Data type Numeric Description Folder where the orders summaries should be stored Default .. _pidUsers: pidUsers """""""" .. container:: table-row Property pidUsers Data type Numeric Description Folders where customer profiles are stored Default .. _pidPayment: pidPayment """""""""" .. container:: table-row Property pidPayment Data type Numeric Description Page where the plugin with view mode = 'Payment' is located Default .. _pidDelivery: pidDelivery """"""""""" .. container:: table-row Property pidDelivery Data type Numeric Description Page were product's receiver will be stored, if different from the acquirer Default .. _pidFinalize: pidFinalize """"""""""" .. container:: table-row Property pidFinalize Data type Numeric Description Page where the plugin with view mode = 'Finalize' is located Default .. _freeDelivery: freeDelivery """""""""""" .. container:: table-row Property freeDelivery Data type Numeric Description Min amount for a free delivery. Default 55,00 .. _pidProductPage: pidProductPage """""""""""""" .. container:: table-row Property pidProductPage Data type Numeric Description Page where the plugin with view mode = 'Product Page' is located Default .. _minAmount: minAmount """"""""" .. container:: table-row Property minAmount Data type Numeric Description Min amount for an order. Default 0,00 .. _pidCategoryPage: pidCategoryPage """"""""""""""" .. container:: table-row Property pidCategoryPage Data type Numeric Description Page where the plugin with view mode = 'Category Page' is located Default .. _fromEmail: fromEmail """"""""" .. container:: table-row Property fromEmail Data type String Description Email of the sender of the order confirmation Default `MyShop@mySite.com `_ .. _fromName: fromName """""""" .. container:: table-row Property fromName Data type String Description Name of the sender of the order confirmation Default MyShop .. _pidSupplierPage: pidSupplierPage """"""""""""""" .. container:: table-row Property pidSupplierPage Data type Numeric Description Page where the plugin with view mode = 'Supplier Page' is located Default .. _bccEmail: bccEmail """""""" .. container:: table-row Property bccEmail Data type String Description Receive a copy of the order confirmation Default `MyShop@mySite.com `_ .. _group-customer: group\_customer """"""""""""""" .. container:: table-row Property group\_customer Data type Numeric Description uid of the group for new customers Default 1 .. _ordersForPage: ordersForPage """"""""""""" .. container:: table-row Property ordersForPage Data type Numeric Description number of orders in a single page in the ORDERSINFO mode Default 5 .. _enable-instock-management: enable\_instock\_management """"""""""""""""""""""""""" .. container:: table-row Property enable\_instock\_management Data type Boolean Description Set to 1 if you want to enable the stock management. Default 0 .. _insertProduct-nextPage: insertProduct\_nextPage """"""""""""""""""""""" .. container:: table-row Property insertProduct\_nextPage Data type Boolean Description Set to 0 if you want to go to the basket after the product insertion, set to 1 if you want to remain in the same page after the insertion of the product. Default 0 .. _orderCode: orderCode """"""""" .. container:: table-row Property orderCode Data type String Description string to prepend to the order number Default Order\_ .. _enableStaticInfoTable: enableStaticInfoTable """"""""""""""""""""" .. container:: table-row Property enableStaticInfoTable Data type Boolean Description Set to 0 if you want want to mantain the old management, set to 1 if you want to menage shipping with static\_info\_table. Default 0 .. _enableUserManagement: enableUserManagement """""""""""""""""""" .. container:: table-row Property enableUserManagement Data type Boolean Description Set to 0 if you want want to mantain the old management, set to 1 if you want to manage users with external extensions. Default 0 .. _resellersGroupID: resellersGroupID """""""""""""""" .. container:: table-row Property resellersGroupID Data type Numeric Description Indicate the resellers ID group for a different price management for resellers Default .. _allert-instock-management: allert\_instock\_management """"""""""""""""""""""""""" .. container:: table-row Property allert\_instock\_management Data type Numeric Description Under the quantity the system will advice by mail for the critical quantity Default .. _hideNoTax: hideNoTax """"""""" .. container:: table-row Property hideNoTax Data type Boolean Description Set to 1 if you want want hide the NoTax price for non-business customers. Default .. _wrapPriceB: wrapPriceB """""""""" .. container:: table-row Property wrapPriceB Data type wrap Description defines how to wrap the NoTax price. Default ( \| ) .. _taxPercent: taxPercent """""""""" .. container:: table-row Property taxPercent Data type Numeric Description Percentage of tax applied to the price. Default 20 .. _disableVATUserCheck: disableVATUserCheck """"""""""""""""""" .. container:: table-row Property disableVATUserCheck Data type Boolean Description Disable Italian VAT management: set it to 0 to enable custom Italian VAT management Default 1 .. _wrapWarnings: wrapWarnings """""""""""" .. container:: table-row Property wrapWarnings Data type wrap Description Wrapper for warnings in basket and minibasket Default

\|

.. _taxMode: taxMode """"""" .. container:: table-row Property taxMode Data type Boolean Description Tax Mode: Set to 1 if you want to insert price tax esclusive. Default 0 .. _debug: debug """"" .. container:: table-row Property debug Data type Boolean Description Debug Mode: Set to 1 if you want to view debug output. Default 0 .. _showOriginalPrice: showOriginalPrice """"""""""""""""" .. container:: table-row Property showOriginalPrice Data type Boolean Description Show original price: Set to 1 if you want to view the original price if a user or usergroup have a discount. Default 0 .. ###### END~OF~TABLE ###### .. _Setup: Setup ^^^^^ plugin.tx\_extendedshop\_pi1 .. ### BEGIN~OF~TABLE ### .. _RequiredFields: RequiredFields """""""""""""" .. container:: table-row Property RequiredFields Data type String Description List of the required fields for the integrated user registration Default name,address,city,zip,state,phone,email,authorization,conditions .. _RequiredFieldsSymbol: RequiredFieldsSymbol """""""""""""""""""" .. container:: table-row Property RequiredFieldsSymbol Data type String Description Symbol that indicats a required field Default \* .. _orderEmail-htmlmail: orderEmail\_htmlmail """""""""""""""""""" .. container:: table-row Property orderEmail\_htmlmail Data type Boolean Description Send the order confirmation in HTML Default 1(deprecated) .. _plainTextEmail: plainTextEmail """""""""""""" .. container:: table-row Property plainTextEmail Data type Boolean Description Set this to 1 if you want a plain text email instead of an HTML email when finalizing orders Default 0 .. _list-linkTitle: list.linkTitle """""""""""""" .. container:: table-row Property list.linkTitle Data type Boolean Description Set to 1 if you want the product title link to the detail view Default 1 .. _requiredDeliveryFields: requiredDeliveryFields """""""""""""""""""""" .. container:: table-row Property requiredDeliveryFields Data type String Description Required fields in the delivery address form Default name,address,city,zip,state,country .. _freeShippingMessage: freeShippingMessage """"""""""""""""""" .. container:: table-row Property freeShippingMessage Data type Boolean Description Set this to 1 if you want to show a free shipping message instead of Price 0 Default 0 .. _switchDeliveryIfEmpty: switchDeliveryIfEmpty """"""""""""""""""""" .. container:: table-row Property switchDeliveryIfEmpty Data type Boolean Description Set this to 1 if you want to show delivery address equal to billing address when delivery address is empty Default 0 .. _max-for-order: max\_for\_order """"""""""""""" .. container:: table-row Property max\_for\_order Data type Numeric Description This is the max number of items for every single product in the cart Default 999 .. _clearBasketOnLogout: clearBasketOnLogout """"""""""""""""""" .. container:: table-row Property clearBasketOnLogout Data type Boolean Description Set this to 1 if you want to clear basket on logout Default 0 .. _detail-showListIfEmptyProduct: detail\_showListIfEmptyProduct """""""""""""""""""""""""""""" .. container:: table-row Property detail\_showListIfEmptyProduct Data type Boolean Description Set to 1 if list of product must be shown when Product Page Mode dont have a specified product to show. This configuration is usefull if you need to place a plugin in list mode and a plugin in product page mode in the same page. Default 1 .. _xajax-preview: xajax\_preview """""""""""""" .. container:: table-row Property xajax\_preview Data type Boolean Description Set to 1 to activate tha Ajax visualization of the product list Default 0 .. _xajax-preview-id: xajax\_preview.id """"""""""""""""" .. container:: table-row Property xajax\_preview.id Data type String Description Prefix for the id attribute of the tag to be updated by tha ajax function. Original id will be the uid number of the product Default shop\_product\_ .. _xajax-preview-linkTitle: xajax\_preview.linkTitle """""""""""""""""""""""" .. container:: table-row Property xajax\_preview.linkTitle Data type Boolean Description Set to 0 if you want the product title link to the detail view, otherwise set to 1 open the preview Default 1 .. _xajax-cart-update: xajax\_cart\_update """"""""""""""""""" .. container:: table-row Property xajax\_cart\_update Data type Boolean Description Set to 1 to updateasynchronously the minibasket when a product is loaded into the cart Default 0 .. _minibasket-id: minibasket\_id """""""""""""" .. container:: table-row Property minibasket\_id Data type String Description Id attribute of the tag to be updated when a product is loaded into the cart Default shop\_minibasket .. _minibasket-lightbox: minibasket\_lightbox """""""""""""""""""" .. container:: table-row Property minibasket\_lightbox Data type Boolean Description Set to 1 to activate a full screen message when the cart is updated Default 0 .. _defaultCountry: defaultCountry """""""""""""" .. container:: table-row Property defaultCountry Data type String Description Default country for the delivery address Default ITA .. _countryTabIndex-personal: countryTabIndex.personal """""""""""""""""""""""" .. container:: table-row Property countryTabIndex.personal Data type Numeric Description Tab order for the country list in personal info form Default 6 .. _countryTabIndex-delivery: countryTabIndex.delivery """""""""""""""""""""""" .. container:: table-row Property countryTabIndex.delivery Data type Numeric Description Tab order for the country list in delivery address form Default 25 .. _dateFormat: dateFormat """""""""" .. container:: table-row Property dateFormat Data type String Description Date Format for the ###DATE### marker Default d/m/Y .. _searchFields: searchFields """""""""""" .. container:: table-row Property searchFields Data type String Description Select the field where the search should look into Default code,title .. _quantity-input: quantity\_input """"""""""""""" .. container:: table-row Property quantity\_input Data type Boolean Description Set 1 if the quantity selector should be a text input, otherwise 0 for a select input Default 0 .. _tax-mode: tax\_mode """"""""" .. container:: table-row Property tax\_mode Data type Boolean Description If 0 price inserted into product record is evaluted as tax included, set 1 if the price inserted is tax excluded Default 0 .. ###### END~OF~TABLE ###### **Images** plugin.tx\_extendedshop\_pi1 .. ### BEGIN~OF~TABLE ### .. _Image: Image """"" .. container:: table-row Property Image Data type Image Description Images of the product, used in the detail view Default .. _zoomimage: zoomimage """"""""" .. container:: table-row Property zoomimage Data type Image Description Image used for the zoom link Default .. _listImage: listImage """"""""" .. container:: table-row Property listImage Data type Image Description Images of the product, used in the list view Default .. _listImage-link-to-details: listImage.link\_to\_details """"""""""""""""""""""""""" .. container:: table-row Property listImage.link\_to\_details Data type Boolean Description Links the image in list view to the detail view Default .. _ordersImage: ordersImage """"""""""" .. container:: table-row Property ordersImage Data type Image Description Configuration for the images in the customer orders info view Default .. _next: next """" .. container:: table-row Property next Data type Image Description Configuration for the image used as link to the next product Default .. _previous: previous """""""" .. container:: table-row Property previous Data type Image Description Configuration for the image used as link to the previous product Default .. _correlatedImage: correlatedImage """"""""""""""" .. container:: table-row Property correlatedImage Data type Image Description Set how the correlated products images should appear Default .. ###### END~OF~TABLE ###### **Page Browser** plugin.tx\_extendedshop\_pi1.pageBrowser .. ### BEGIN~OF~TABLE ### .. _maxPages: maxPages """""""" .. container:: table-row Property maxPages Data type Numeric Description Max number of pages shown for window pagination Default 7 .. _showResultCount: showResultCount """"""""""""""" .. container:: table-row Property showResultCount Data type Boolean Description Show the total count of items. Default 1 .. _dontLinkActivePage: dontLinkActivePage """""""""""""""""" .. container:: table-row Property dontLinkActivePage Data type Boolean Description Set to 1 to avoid the linking of the active page Default 1 .. _tableParams: tableParams """"""""""" .. container:: table-row Property tableParams Data type String Description Parameters of the page browser table tag Default cellpadding="2" align="center" .. _showFirstLast: showFirstLast """"""""""""" .. container:: table-row Property showFirstLast Data type Boolean Description Show “First” and “Last” page link Default 1 .. _showRange: showRange """"""""" .. container:: table-row Property showRange Data type Boolean Description Show the range of the items displayed. Default 1 .. _disabledLinkWrap: disabledLinkWrap """""""""""""""" .. container:: table-row Property disabledLinkWrap Data type wrap Description Wrap for disabled page links Default \| .. _inactiveLinkWrap: inactiveLinkWrap """""""""""""""" .. container:: table-row Property inactiveLinkWrap Data type wrap Description Wrap for inactive page link Default \| .. _activeLinkWrap: activeLinkWrap """""""""""""" .. container:: table-row Property activeLinkWrap Data type wrap Description Wrap for active page link Default \| .. _showResultsWrap: showResultsWrap """"""""""""""" .. container:: table-row Property showResultsWrap Data type wrap Description Wrap for whole results count Default \|
.. _showResultsNumbersWrap: showResultsNumbersWrap """""""""""""""""""""" .. container:: table-row Property showResultsNumbersWrap Data type wrap Description Wrap for results count numbers Default .. _browseBoxWrap: browseBoxWrap """"""""""""" .. container:: table-row Property browseBoxWrap Data type wrap Description Wrap for the whole browser box Default .. ###### END~OF~TABLE ###### plugin.tx\_extendedshop\_pi2 .. ### BEGIN~OF~TABLE ### .. _templateFile: templateFile """""""""""" .. container:: table-row Property templateFile Data type String Description Template file Default EXT:extendedshop/pi2/shop.html .. ###### END~OF~TABLE ###### .. _Hooks: Hooks ----- Webformat ExtendedShop allows you to enlarge his functionalities with custom extension. Hooks are available for the basket, custom product fields and payment and shipping. .. _Basket-hooks: Basket hooks ^^^^^^^^^^^^ saveCustomFieldsInBasket: this can be used to save custom fields in the cookie; getShippingTitle: this can be used to modify the shipping Title before showing it to the user; getShippingPriceTax: this can be used to modify the shipping price with Tax included before showing it to the user; freeshipping: this can be used to modify the freeshipping string shown to the user (instead of '0'); getShippingPriceNoTax: this can be used to modify the shipping price without Tax included before showing it to the user; checkFreeShipping: this can be used to force “free shipping”. .. _Order-custom-fields-hooks: Order custom fields hooks ^^^^^^^^^^^^^^^^^^^^^^^^^ saveCustomOrderFields: this can be used to save custom fields in main order record; saveCustomFields: this can be used to save custom fields in order row. .. _Product-custom-fields-hooks: Product custom fields hooks ^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluateCustomCorrelatedFields: this can be used to evaluate custom fields; evaluateCustomProductFields: this can be used to evaluate custom fields. .. _User-custom-fields-hooks: User custom fields hooks ^^^^^^^^^^^^^^^^^^^^^^^^ saveCustomDeliveryFields: this can be used to save custom delivery fields. .. _FE-hooks: FE hooks ^^^^^^^^ checkReturnValues: this can be used to do register parameters to be intercepted to decide if user is coming back from an online payment; processAdvancedSearch: this can be used to manage the advanced search behaviour; evaluateCustomBasketTotals: this can be used to manage custom total prices; evaluateBasketArray: this can be used to manage the basket settings; after\_finalization\_process: this can be used to do something after order finalization; getDefaultConfiguration: this is used to init the payment options with external payment extensions; evaluateShippingConfArray: this can be used to modify the shipping confArray before showing it to the user. .. _FE-orders-management-hooks: FE orders management hooks ^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluateOrderArray: this can be used to manage custom markers. .. _Known-problems: Known problems -------------- The field visualization code will be deleted in the future and substituted with a more standard one. .. _To-Do-list: To-Do list ---------- In the next new versions the following features will be introduced: - Favourite products list - Gift remainder - Invoice generation in a pdf file - Products list exportation for froogle If you want to collaborate or just give some idea please contact us: `info@webformat.com `_ .. _Changelog: Changelog --------- 0.1.0 Initial release 0.2.0 - MULTILANGUAGE SUPPORTED - Constants Editor supported 0.2.1 Bug fixing 1.0.0 - Bug fixing - STABLE RELEASE - Lithuanian translation 1.1.0 German translation 1.2.0 TYPO3 4.0 compatibility 1.2.1 Finnish translation 1.2.2 Email confirm bug fixed 1.2.3 Bug fixing 1.2.4 PayPal interaction updated 2.0.0 - Customers as FE-users - Order tracking - BE orders management module - Advanced search - UI improvements - Authorize.net gateway integrated - Czech translation 3.0.0 - Complete code refactoring - A lot of new functionalities - Payment Gateways integrated via sub-extensions - Shipping methods integrated via sub-extensions .. _Thanks-to: Thanks to --------- We'd like to thank Arunas Barbsys for his Lithuanian translation of the shop labels. We'd like to thank Daniel Raßbach for his German translation of the shop labels. We'd like to thank Tapio Markula for his Finnish translation of the shop labels. We'd like to thank Nancy from Shield Web Design for bug fixing in PayPal interaction. We'd like to thank Jiri Chaloupka for his Czech translation of the shop labels. We'd like to thank Allan Jacobsen for his Danish translation of the shop labels. |img-4| EXT: Webformat Shop System - 14 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.jpeg .. :align: left .. :border: 0 .. :height: 213 .. :id: Immagine1 .. :name: Immagine1 .. :width: 557 .. |img-2| image:: img-2.png .. :align: left .. :border: 0 .. :height: 535 .. :id: Immagine2 .. :name: Immagine2 .. :width: 634 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 605 .. :id: Immagine3 .. :name: Immagine3 .. :width: 639 .. |img-4| image:: img-4.png .. :align: left .. :border: 0 .. :height: 32 .. :id: Graphic1 .. :name: Graphic1 .. :width: 102