.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt .. role:: underline :Created: 2003-10-10T15:22:51 :Changed: 2005-07-02T22:20:35 :Info 1: :Info 2: :Info 3: :Info 4: .. _EXT-Amazon-Search: EXT: **Amazon** Search ======================= Extension Key: **eim2amazonsearch** Copyright 2000-2002,Achim Eichhorn, 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: Amazon Search 1** **Introduction 2** What does it do? 2 Screenshots 3 **Users manual 4** **Adminstration 10** Installation 10 Configuration 11 TyposScript setup 12 **Configuration 16** searchtypes and searchmodes 16 Listfields, Displayfields and Hiddenfields 17 FAQ 17 Reference 18 **Known problems 18** **To-Do list 18** **Changelog 19** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ This front end plugin uses the amazon SOAP webservices to receive information from amazon. The query results will be displayed within the typo3 frontend. If you have an amazon patner ID and you enter it in the constant section of your template, this ID will be added to all links leading to amazon. Visit amazon website (section partner program) for more information.To use this extension you must have an amazon developer token, which you have to enter in the constant section of your template. Visit amazon webpage (section webservices) for more information. (Don't mess associate ID and developer token!) This extension uses the “NuSOAP - Web Services Toolkit for PHP” by Dietrich Ayala, `dietrich@ganx4.com `_ , `http://dietrich.ganx4.com/nusoap `_ . The library and license information can be found in the extensions subfolder “soap”. What is new in Verions 2? You can now use multiple partner programs, the additional programs are defined in typoscript setup. The partner program defined in constants section will be used as “default” program, if no others are defined. There are TEASER and DETAIL elements in addition to FORM and LIST of the previsious version. TASERS display a small amount of query results, the querys can be very tricky, depending on predifined ASIN lists, on the POST/GET Vars sent to other plugins, on the searchword with which a user came from an external searchengine like google,... DETAILS display the infomation of a single item. A plugin can do a “heavy” search, which gives back much more information than the “lite” version. This extension now depends on eim2nusoap extension, which holds the actual Version of Dietrich Ayala's nusoap library. There is another extension in TER, which does the same, but with an older Version of nusop, which caused problems with amazon's soap interface, so I had to publish my own extension. Upgrade To tell the truth, I am not sure if Version 2 is full compatible with the previsious Versions, so I recommend to try this on local/development/backup installations first. On the other hand, I don't think that you installed more than perhaps 2 or 3 different plugins on one website, so the changes, which perhaps will be necessary aren't to complex. .. _Screenshots: Screenshots ^^^^^^^^^^^ |img-1| This is an example of a search form. The look depends on your template. All labels and options are available in german and english, more languages can be added. In this example we want to search for the author “pratchett”. The result would look like this: |img-2| There were 116 articles in the book store to the author “pratchett”. These 116 articles are displayed on 12 pages, the actual page is page num 1. The 2 displayed articles are available within 24 hours at amazon. With the navigation on the top you can navigate between page 1 and 10. With the arrow on the right side, you have access to the next two pages. It can happen that there exist hundreds of pages at amazon. Then there will be always a “first button” to the first page, a “next button” to the next 10 oages and a “previsous button” to the previsious 10 pages in the navigation. There are several searchtypes provided by amazon. (author, keywords, artists, asin, producers, manufactureres...) .. _Users-manual: Users manual ------------ First of all, you have to enter your developer token in the constants. You can read in section “configuration” how you have to do this. We will now create a little website containing all of the eim2amazonsearch elements (TEASER,DETAIL,FORM,LIST). :underline:`**Pagestructure**` Create something like the following page structure: |img-3| The page named “DETAIL” should be a page, which is not in menu! :underline:`**TEASER**` Now go to the page called “TEASER” and select “Create page content” |img-4| Then choose “gerneral plugin” Now we have to do a little bit of configuration: |img-5| Choose Amazon SOAP Interface as plugin, and enter the following line in the CODE field:TEASER:OPTIONS=3-4:ELEMENTS=5; Ok, what does this mean? TEASER – thats clear, we want to have a teaser on this page. ELEMENTS=5, that's clear, too: The teaser should not display more than 5 elements. But what means “OPTIONS=3-4” and by the way, WHAT should the TEASER display?The answer to both questions can be found in typoscript setup: There is a section called teaseroptions: #################################### TEASER OPTIONS################################### plugin.tx\_eim2amazonsearch\_pi1.teaseroptions{ 1.TYPE = SEARCHENGINE 2.TYPE = PLUGIN2.PARAM = sword2.DELIMITER = 3.TYPE = SEARCH3.SEARCHTYPE = KeywordSearch3.SEARCHMODE = books3.SEARCHSTRING = content management 4.TYPE = ASINLIST4.LIST = 3937514015,3898424707 } 3-4 means, that the teaser uses the elements 3 and 4 of teaseroptions. “3” defines a KeywordSearch for books, with the words “content” and “management”. 4 defines a search for the two ASIN's “3937514015” and ”3898424707”. The teaser behaves that way: If one search doesn't return results, it uses the next. It starts with the keywordsearch, and if that fails, then it trys the ASIN search.Time to have a glance at the frontend? |img-6| You can see, there are five books displayed. But what, if you want to have some more information for one of those books?It's time to insert a second plugin and let our second hero enter the stage: :underline:`**DETAIL**` |img-7| Go to the page called “DETAIL” and insert a plugin like described in TEASER section, but this time, insert the following line in the CODE section:Now we have to tell our teaser, that he can use a detail page for displaying additional information. |img-8| Go back to teaser page end edit the teaser plugin as follows:In the field “Startingpoint” choose the DETAIL page. Time to swith back to the frontend and see, if there has changed something... |img-9| Ah, there is a new link “Details” - don't hesitate to klick ist...Cool, now we see more information about this item, a bigger image of the cover and so on.On the end of the list we find a link “back”, and if we follow this, we come back to our teaser.But what, if you really want to have all available information about the articles?Then you have to use something called “heavy.dtd” from the amazon webservices. This defines a much bigger result set. It doesn't make much sense, to use this within the TEASSER, but we could use it in our DETAIL plugin.Go back to the DETAIL page, and edit the plugin. Enter in the CODE section this line: DETAIL:RESULT=heavy No back to the frontend, and follow the “Details” link again...WOW, that's really a lot of information. But be careful, this option is timeconsuming! If you scroll down to the bottom of the page, you find the section “SimilarProducts”. Amazon soap interface only returns the ASIN's of those products. eim2amazonsearch takes this ASIN's and does another amazon query, to get the corresponding product Information, too. If you use “heavy” within a LIST plugin, for all SimilarProducts of all result entries there will be another amazon query. You have to test, if this is too slow in your environment. I would recommend to use “heavy” only on DETAIL pages. I tried to optimize programming and reduce the soap requests to a minimum, but until I have implemented a caching mechanism, be carefull... So, now I wrote about LIST plugins -> its time to have one on our webpage! :underline:`**FORM and LIST**` Go to the page we called FORM and LIST. There you create two plugins, the first gets the following line in the code Field:FORMThe other one gets LIST.Thats all, if you switch to this page in the frontend you have got a searchform and the results will be listed in LIST plugin. If you want your searchform on another page, than the list, then you have to redirect from the form to the listpage. This is done similar to what we have written about TEASER and DETAIL. Just choose the page with the LIST plugin as Startingpoint of the FORM plugin. If you want to provide detail information in a LIST plugin just choose the DETAIL page as starting point of the list plugin. :underline:`**Some additions to TEASERS**` If you enter the phrase “content management”, which is the keyword search we defined as input for our teaser, in the FORM plugin, you see, that there are more than 5 books fitting this search. If you want, that your website visitors can see all possible results for the search belonging to the teaser, you have to edit the teaser plugin again, and give it a second “startingpoint” which has to lead to a page with a LIST plugin. Each time, the TEASER gets more results as defined in his ELEMENTS option, it displays an additional link, which leads to the LIST page and there forces another search with the same parameters as in the TEASER's search. |img-10| |img-11| Be sure, that the first parameter goes to the DETAIL page and the second to the LIST!In the frontend you will now see: There is a link “More results”. If you follow this you will get to the LIST page and can navigate through all results.On the bottom of the LIST page you will now find a “back” link, which leads back to the calling TEASER! If you remember the typoscript setup for the teaseroptions, you perhaps remember that there were two more options listed? One was “SEARCHENGINE”, another one was “PLUGIN”. The SEARCHENGINE option examines an referer. If it came from a known searchengine then it grabs the given searchwords. With them it starts a keyword search at amazon. If you are a programmer and want to test, if this feature works, you first have to enter in the plugin's CODE field the OPTION combination 1-3-4. (it starts with 1 => SEARCHENGINE, if it gets no results, then it uses 3 => keywordsearch “content management” and so on). Now you have to simulate an external referer from a searchengine. If you open the file classes/class.controller.php in the extension directory, you will find at lines 300 ... some comments like: //$referer = "http://www.google.de/search?q=typo3&hl=de&lr=&cr=country AT&ie=UTF-8&oe=UTF-8&start=20&sa="; If you uncomment this line, our plugin thinks the visitor came from google and there he searched for “typo3”, so the plugin itself searches for typo3. You can define more searchengines in typoscript setup (there you see, which are allready defined, and how this is done). If you then like to test your new createt “searchengine agent”, you just have to add a line, like the above listet (don't forget to comment “//” it after testing!). #################################### SEARCHENGINES################################### plugin.tx\_eim2amazonsearch\_pi1.searchengines{ google.referer = googlegoogle.keyword = qgoogle.delimiter = + altavista.referer = altavista.comaltavista.keyword = qaltavista.delimiter = + ... }But what we want to do now, is to test the “PLUGIN” option. We want our teaser to listen to what the user searches on our website and then provide corres books. First we need a search plugin on the page, where the teaser is.Klick “create new page content” and then choose Search form: |img-12| Now we have to tell our teaser, that we want to listen to information sent to the search plugin.The parameter for this plugin is “sword”.In typoscript setup we find the entry:#################################### TEASER OPTIONS############# ######################plugin.tx\_eim2amazonsearch\_pi1.teaseroptions{ 1.TYPE = SEARCHENGINE 2.TYPE = PLUGIN2.PARAM = sword2.DELIMITER = |img-13| Now we tell the plugin to use this option as first option and 3 and 4 as the other options.The CODE field of the TEASER plugin now looks like this: If you go to the frontend again and reload the teaser page, you will see that there is a search form. the teaser shows the same as before... nothing really interresting happend :-( Enter a word in the search form, I choose “fit”, and hit “search”!Now you see the searchresults from the typo3's search over your website (in my case it found nothing, cause there is no content available...) BUT if you have a look at the output of our TEASER, you will see, that there is a completly other result than before, they “fit”, to what was entered in the searchform.Cool, isn't it? You now can experiment with some other search words. If you have enough of playing around this way, try a nonsene word like “Hommingberger Gepardenforelle”. Is this confusing our teaser? No, not really, it gets no results for this word, so it uses the second defined option and does a keyword search for “content managment”. You should always have a search on the bottom of your options which leads to results, so your teaser will never display “NO RESULTS”. :underline:`**Different partner programs**` If you join different amazon partner programs, eim2amazonsearch now supports this feature, too.Have a look in tssetup, where you will find the following: #################################### PARTNER PROGRAMS################################### plugin.tx\_eim2amazonsearch\_pi1.partnerPrograms {#Available amazon wsdl's#United States,locale: None needed, `http://soap.amazon.com/schemas3/AmazonWebServices.wsdl `_ #Great Britain,locale=uk, `http://soap- eu.amazon.com/schemas3/AmazonWebServices.wsdl `_ #Germany,locale=de, `http://soap-eu.amazon.com/schemas3/AmazonWebServices.wsdl `_ #Japan,locale=jp, `http://soap.amazon.com/schemas3/AmazonWebServices.wsdl `_ #France,locale=fr, `http://soap.amazon.fr/schemas3/AmazonWebServices.wsdl `_ #Canada,locale=ca, `http://soap.amazon.ca/schemas3/AmazonWebServices.wsdl `_ 1.locale = de1.associateId = webservice-201.wsdl = http://soap- eu.amazon.com/schemas3/AmazonWebServices.wsdl 2.locale = us2.associateId = webservice-202.wsdl = http://soap.amazon.com/schemas3/AmazonWebServices.wsdl 3.locale = uk3.associateId = webservice-203.wsdl = http://soap- eu.amazon.com/schemas3/AmazonWebServices.wsdl 4.locale = jp4.associateId = webservice-204.wsdl = http://soap.amazon.com/schemas3/AmazonWebServices.wsdl } We defined 4 partner programs. Instead of webservice-20 you would enter your own partner ID.I have listet all available amazon partner program's wsdl files, so you can quickly enter those you need.How do we tell a plugin, which partner program it should use? Simply by entering the index of the wanted partner program as a parameter in the plugins CODE field.To test this, we create a second FORM plugin on the “FORM and LIST” page.In the CODE field we enter this line:FORM:PROGRAMUID=2; This means we search in the us – locale domain. If you now go to the “FORM and LIST” page, you have got 2 plugins.Use the first and then the second plugin and you will see, how it works. .. _Adminstration: Adminstration ------------- .. _Installation: Installation ^^^^^^^^^^^^ |img-14| At first, you have to install the extension from the repository. There will be two errors displayed. Never mind about them they are caused because the imported libraries don't fit to typo3's naming guidline, they have no effect on the extensions functionality. .. _Configuration: Configuration ^^^^^^^^^^^^^ After installing the extension, you MUST enter some values in the constants of your template: |img-15| The developer token is a string, which you can get from amazon. Without this token, you won't get any results from the webservice. The associateID is a partner ID, you can get from amazon partner program. If you enter this ID here, all resulting hyperlinks will have this ID coded in them. If a visiter from your page follows such a link and buys a product at amazon afterwards, you will get a percantage of the sale. WSDL URL leads to the wsdl of the amazon site. Default value is the wsdl for the german amazon site, but there are wsdl's for more countries, too. For more informationhave a look at amazon's webpages. Resultype defines if you get an lite or a heavy result set. At the moment, only lite is imlemented. The corresponding dtd's can be achieved at amazon. If you want, that a link from your site to amazon should open in another window, you can enter the name of the new window here. If it should open in the same window, where your typo runs, you can leave the default value (“\_self”). For a firsttime installation you dont have to think about wsdl, resulttype, associateID or framename, you can leave them at their defaults, BUT you MUST enter a developer token. .. _TyposScript-setup: TyposScript setup ^^^^^^^^^^^^^^^^^ **THIS IS THE PART from the older Version of eim2amazon search, I have no time to update it completely, but with this information, and if you have a look in typoscript setup, I am sure you will know, what you have to do.** After installation and basic configuration, you want to fit the design of the plugin with your website's design. In the object browser of the template section you find in the setup of the eim2amazonsearch extension a key “layout”, there you can find the standard layout. To use a different layout, it is the easiest way to copy and paste the value of this key into a file, perhaps “tpl\_amazon.htm”. Copy this file to the fileadmin folder of your typo installation. In the setup of your template you now change the value of the key in the following way: plugin.tx\_eim2amazonsearch\_pi1.layout = FILEplugin.tx\_eim2amazonsearch\_pi1.layout.file = fileadmin/path/to/template/tpl\_amazon.htm This template file consists of several sections: .. _layout-part: layout part """"""""""" ###SEARCH\_FORM######SEARCH\_RESULTS######BAC K\_LINK### Layout, here are the markers for the different parts of the plugins interface.You should not change them, there is no design information within this section. .. _searchform-details: searchform details """"""""""""""""""
###SEARCH\_LABEL###
###SEARCH\_TYPE\_LABEL###
###SEARCH\_MODE\_LABEL###
 
markers: .. _JAVASCRIPT: JAVASCRIPT ~~~~~~~~~~ The search form contains a javascript, which is called, when the search type is changed. If this happens, the search mode field is automatically changed, too. If the user changes the search type from “Actor Search” to “Artist Search” the available search modes are changed from “dvd, vhs video, video” to “music, classical”.If the client browser does not support javascript, this javascrip will have no effect, but the plugin on the server side will change the search modes. In this case there will be a standard mode used for the first search. There is a marker “JAVASCRIPT” within the script. This marker is replaced corresponding to the settings in your typoscript setup. .. _PAGELINK: PAGELINK ~~~~~~~~ This marker returns a link to the page with the search form – don't touch this. .. _SEARCH-LABEL-and-SEARCHSTRING: SEARCH\_LABEL and SEARCHSTRING ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is the label for the string, which you search for. You can define the value in the language file, so the plugins language will be changed automatically, when the user changes his locale. Searchstring is the string, the user searches for. This is reentered in the text- input field of the form. .. _SEARCH-TYPE-LABEL-and-SEARCH-MODE-LABEL: SEARCH\_TYPE\_LABEL and SEARCH\_MODE\_LABEL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The labels for the search types and modes, define them in the language settings. .. _SEARCH-TYPE-OPTIONS-and-SEARCH-MODE-OPTIONS: SEARCH\_TYPE\_OPTIONS and SEARCH\_MODE\_OPTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The options for the select fields – don't touch them. You see, there are classes defined for nearly all fields, so it is easy to change the look and feel of the plugins interface by css style sheets. .. _Search-result-list: Search result list """""""""""""""""" ###STATISTICS######NAVIGATION######ITEMS###
## #NAVIGATION### .. _STATISTICS: STATISTICS ~~~~~~~~~~ displays how many items where found, how many pages and the actual page number. .. _NAVIGATION: NAVIGATION ~~~~~~~~~~ displays a first, prev. And next button and links to the next 10 pages. .. _ITEMS: ITEMS ~~~~~ In this area the results are inserted. In the design above, the navigation part is displayed on the bottom of the results again, this makes it easier for the user to navigatethe results. .. _Display-Fields: Display Fields """""""""""""" ###LISTFIELDS###
###ITEMNUM###
Display Fields are fields of the query result data set, which should always be displayed. In the example above this are: ImageUrlMedium, ITEMNUM, Url and ProductName.ITEMNUM ist the absolute number of the item in the data set. Url is the link to this item at amazon.For other fields look at the dtds.The marker LISTFIELDS inserts all the other fields, which can occure in the result dataset, but which are optional. For example, with a book, you can get several authors, with a DVD you can get Actors. Read more about list and display fields further in this document. .. _Listfields: Listfields """""""""" ###RESULT\_LABEL######RESULT\_ITEM### There are only two markers for the listfield, a LABEL and a ITEM marker. The labels for all fields can be defined in the language section (locallang.php) .. _NoResults: NoResults """""""""
## #NO\_RESULTS\_TEXT###
This part is displayed, if the result data set is empty. The text, which is displayed for the marker NO\_RESULT\_TEXT can be defined in locallang.php. .. _ErrorPart: ErrorPart """""""""
###ERROR\_LABEL###
###ERROR\_TEXT###
This part is displayed, when an error occurs while connecting to amazon (maybe the amazon servers are down, or maybe you entered a wrong url to the wsdl file, or maybe something else ;-) .. _Statistictable: Statistictable """"""""""""""
###LABEL\_NUM\_RESULTS######NUM\_RESULTS###
###LABEL\_NUM\_PAGES######NUM\_PAGES###
###LABEL\_ACTUAL\_PAGE######ACTUAL\_PAGE###
Displays the labels and items for the number of results, number of pages and the actual page number. .. _Navigation: Navigation """"""""""
###FIRSTPAGE\_LABEL######PREV\_TEN\_LABEL######NAVIGATIONPAGES######NEXT\_TEN\_LABEL###
###PAGE\_NUM###  In NAVIGATIONITEMS are the markers for the “first page”, “next page” and “prev page” defined. Each of them has its ownlabel, which can be defined in locallang.php. In the example above these labels are used as the alt information of an image tag. This markers are only diusplayed, if they are necessary. If you are already on the first page, then you don't need a first page link. This marker will then be replaced by an empty string.The marker NAVIGATONPAGES will be substituted by ten links to different pages (1..10 or 11..20,...).Each of these links is designed like defined in NAVIGATION\_PAGE and NAVIGATION\_PAGE\_LINK. .. _Back-link: Back link """"""""" If you use different pages for search form(s) and search results, then there will be displayed a back link in the results, which leads back to the calling search form. You can change teh design in the BACK\_LINK\_PART. .. _Configuration: Configuration ------------- This is outdated, too, have a look in TSSETUP for all new features. .. _searchtypes-and-searchmodes: searchtypes and searchmodes ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Most of the configuration of the design is explained in the section before. In this section the configuration of the searchform and result fields will be explained.There are several kinds of searches available at amazon. This extension supports only such searchtypes, which have a data set called “details” in the result set.Here are the definitions in the standard setup: plugin.tx\_eim2amazonsearch\_pi1.searchtypemodes{ActorSearch.modes = dvd,vhs,videoActorSearch.default = dvdArtistSearch.modes = music,classicalArtistSearch.default = musicAsinSearch.modes = nomodeAsinSearch.default = nomodeAuthorSearch.modes = booksAuthorSearch.default = booksDirectorSearch.modes = dvd,vhs,videoDirectorSearch.default = dvdKeywordSearch.modes = baby, books, classical, dvd, electronics, garden, kitchen, magazines, music, pc-hardware, photo, software, toys, universal, vhs, videogamesKeywordSearch.default = booksManufacturerSearch.modes = electronics, kitchen, videogames, software, photo, pc- hardwareManufacturerSearch.default = software} This is a mapping of each available searchtype to the corresponding search modes and the default value for the searchmode of a specific searchtype.If you want, that your users can only search within a subset of this searchtypes you only have to delete the lines of the searchtypes, you don't want to have. Provided by your searchform. As explained above, amazon provides two types of result information: heavy and lite. The heavy infomration provides a lot of information, which I didn't need for my aplication, so I decided only to support the lite type. If you want more information on both kinds of result data sets, visit amazon.com and search for heavy and lite dtd, which describe both in the XML language. .. _Listfields-Displayfields-and-Hiddenfields: Listfields, Displayfields and Hiddenfields ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This application's output differs between two kind of fields: DISPLAYFIELDS and LISTFIELDS.DISPLAYFIELDS have their own markers in the template, LISTFIELDS use a standard RESULT\_ITEM to be displayed.(There is a third kind of fields, I called them hidden fields, this are fields, which aren't displayed by the extension). This three field sets are disjunct, if you join them ,you get all available fields of lite dtd.Here is the typs script setup in the standard configuration: plugin.tx\_eim2amazonsearch\_pi1.listfields{1 = Artists2 = Authors3 = ReleaseDate4 = Manufacturer5 = MerchantId6 = MinPrice7 = MaxPrice8 = MinSalePrice9 = MaxSalePrice10 = MultiMerchant11 = MerchantSku12 = Availability13 = ListPrice14 = OurPrice15 = UsedPrice16 = Status17 = Asin18 = Catalog}plugin.tx\_eim2amazonsearch\_pi1.displayfields{1 = ProductName2 = ImageUrlSmall}plugin.tx\_eim2amazonsearch\_pi1.hiddenfields{1 = ImageUrlMedium2 = ImageUrlLarge}For each field in displayfields you need a marker in the DISPLAY\_FIELDS section of your template. This marker has the form “###fieldname### for example: “###ProductName###”.There are two markers, which are always available in the DISPLAY\_FIELDS section of the template: ITEMNUM and Url, ITEMNUM has the marker ###ITEMNUM###. Url has the markers "> and "> Its content will be wrapped by a link to the item at amazon's webpage. .. _FAQ: FAQ ^^^ .. _More-complex-GPVASR-in-teaseroptions-PLUGIN-type: More complex GPVASR in teaseroptions PLUGIN type? """"""""""""""""""""""""""""""""""""""""""""""""" If you have a look in TSSETUP, you will find the following in teaseroptions: 2.TYPE = PLUGIN2.PARAM = sword2.DELIMITER = where sword is the param we search for sword in the GET/POST VARS.Most typo3 extensions populate their params in an array notation, and they can be accessed with associative indices. If our variable would look like this: tx\_eim2amazonsearch\_pi1[something][like][this][sword] we would enter in the tssetup definition the following code: 2.PARAM = tx\_eim2amazonsearch\_pi1,something,like,this,sword Just enter the path, which we “have to go along” to come to the wanted word. .. _Reference: Reference ^^^^^^^^^ NOT ACTUAL ANYMORE! I am laking in time to do that, have a look in TSSETUP... .. _constants: constants """"""""" .. ### BEGIN~OF~TABLE ### .. _dev-token: dev\_token ~~~~~~~~~~ .. container:: table-row Property dev\_token Data type String Description Your amazon developer token Default .. _assoc-id: assoc\_id ~~~~~~~~~ .. container:: table-row Property assoc\_id Data type String Description Your amazon partner ID. If you enter your ID here, all links produced by the pluginin will contain your partner ID. Default .. _soap-wsdl: soap\_wsdl ~~~~~~~~~~ .. container:: table-row Property soap\_wsdl Data type String Description Path to the amazon wsdl file. See amazon documentation for different wsdl files for different countries. Default .. _locale: locale ~~~~~~ .. container:: table-row Property locale Data type String Description Defines the language of the amazon results. Default .. _searchtype: searchtype ~~~~~~~~~~ .. container:: table-row Property searchtype Data type String Description Default Search Type Default KeywordSearch .. _resultType: resultType ~~~~~~~~~~ .. container:: table-row Property resultType Data type String Description Lite (Heavy not supported now) Default lite .. _framename: framename ~~~~~~~~~ .. container:: table-row Property framename Data type String Description Name of the window/frame, where links to amazon should be opened. Default \_self .. ###### END~OF~TABLE ###### .. _setup: setup """"" .. ### BEGIN~OF~TABLE ### .. _searchtypemodes: searchtypemodes ~~~~~~~~~~~~~~~ .. container:: table-row Property searchtypemodes Data type Object/Array Description Mapping of all available searchtypes to their searchmodes and default searcmode values Default .. _listfields: listfields ~~~~~~~~~~ .. container:: table-row Property listfields Data type Array Description If a field of this array occures in the result data set, the field is displayed in the listfields section wrapped as a standard “RESULT\_ITEM” Default .. _displayfields: displayfields ~~~~~~~~~~~~~ .. container:: table-row Property displayfields Data type Array Description This fields have their own markers in the DISPLAYFIELDS section of the templates. Default .. _hiddenfields: hiddenfields ~~~~~~~~~~~~ .. container:: table-row Property hiddenfields Data type Array Description This array has no effects on the functionality of the plugin. Default .. _layout: layout ~~~~~~ .. container:: table-row Property layout Data type HTML Description Design Template Default .. ###### END~OF~TABLE ###### .. _Known-problems: Known problems -------------- .. _To-Do-list: To-Do list ---------- - Caching! - All parameters are passed with url parameters, which enlarges the url really. I think some of those parameters should be stored in a session object. - Logging - Backend Module for easy customizing the plugins (parser and editor for the plugins code fields) and doing statistics over loggin, clearing the cache... - flash interface for teasers - programming structure was devided into model/view/controller, but it is far from beeing perfect/correct.Refactoring of the code would be good. - Documentation of the code - Flash tutorial / video tutorial .. _Changelog: Changelog --------- New in Verion 2 - TEASERS - DETAILS - partner programs - heavy dtd Changes in previsious Versions - now the plugin recognizes errors which can occure while establishing a connection to amazon. The template is expanded by “###ERROR\_PART###” and the language file has an additional label. Have a look at setup and language.php. - There was a bug in the class amazonsearch.class. The class always used the german wsdl file, now it uses the wsdl file you specify in the constant part. |img-16| - 19 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.jpeg .. :align: left .. :border: 0 .. :height: 133 .. :id: Grafik1 .. :name: Grafik1 .. :width: 363 .. |img-2| image:: img-2.jpeg .. :align: left .. :border: 0 .. :height: 599 .. :id: Grafik2 .. :name: Grafik2 .. :width: 363 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 70 .. :id: Grafik6 .. :name: Grafik6 .. :width: 194 .. |img-4| image:: img-4.jpeg .. :align: left .. :border: 0 .. :height: 66 .. :id: Grafik5 .. :name: Grafik5 .. :width: 484 .. |img-5| image:: img-5.png .. :align: left .. :border: 0 .. :height: 160 .. :id: Grafik7 .. :name: Grafik7 .. :width: 321 .. |img-6| image:: img-6.png .. :align: left .. :border: 1 .. :height: 179 .. :id: Grafik8 .. :name: Grafik8 .. :width: 248 .. |img-7| image:: img-7.png .. :align: left .. :border: 0 .. :height: 169 .. :id: Grafik9 .. :name: Grafik9 .. :width: 233 .. |img-8| image:: img-8.png .. :align: left .. :border: 0 .. :height: 78 .. :id: Grafik10 .. :name: Grafik10 .. :width: 138 .. |img-9| image:: img-9.png .. :align: left .. :border: 0 .. :height: 158 .. :id: Grafik11 .. :name: Grafik11 .. :width: 269 .. |img-10| image:: img-10.png .. :align: left .. :border: 0 .. :height: 128 .. :id: Grafik12 .. :name: Grafik12 .. :width: 156 .. |img-11| image:: img-11.png .. :align: left .. :border: 0 .. :height: 149 .. :id: Grafik13 .. :name: Grafik13 .. :width: 140 .. |img-12| image:: img-12.png .. :align: left .. :border: 0 .. :height: 28 .. :id: Grafik14 .. :name: Grafik14 .. :width: 424 .. |img-13| image:: img-13.png .. :align: left .. :border: 0 .. :height: 52 .. :id: Grafik15 .. :name: Grafik15 .. :width: 220 .. |img-14| image:: img-14.jpeg .. :align: left .. :border: 0 .. :height: 213 .. :id: Grafik3 .. :name: Grafik3 .. :width: 659 .. |img-15| image:: img-15.jpeg .. :align: left .. :border: 0 .. :height: 635 .. :id: Grafik4 .. :name: Grafik4 .. :width: 542 .. |img-16| image:: img-16.png .. :align: left .. :border: 0 .. :height: 32 .. :id: Graphic1 .. :name: Graphic1 .. :width: 102