How to migrate from AjaxSearch 1.8.5 to AjaxSearch 1.9.0 and upper 1/ ============================ Deprecated parameters searchWordList 1.8.5 : ---- &searchWordList user function (optional) to define a search word list: [user_function_name,params] where params is an optional array of parameters 1.9.0 : The option list should be now set in the input template. For instance you could use a snippet to get some Tv values. Look at the toolbox/snippet.asSelectTv.txt resultsPage 1.8.5 : A very old parameter not really used. If used, Should be replaced by landingPage showMoreResults 1.8.5 : ---- &showMoreResults [1 | 0] (optional) If you want a link to show all of the results from the ajax search. 1.9.0 : this parameter is useless as soon as you define a moreResultsPage. 2/ ============================ Renamed parameters For a better and a simpler undertstanding some parameters have been renamed AS_showForm => showInputForm AS_landing => landingPage AS_showResults => showResults 3/ ============================ Renamed $_POST and $_GET variables Some $_POST and $_GET variables have been renamed. AS_search => search 4/ ============================ Renamed parameter values tvPhx If you previously use the tvPhx parameter with &tvPhx=`tv:displayTV` You need now define which Tvs you would like use. 1.8.5: &tvPhx : Set placeHolders for TV (template variables) 0 : disallow the feature 'tv:displayTV' : set up placeholders for each TV (named tvName) linked to the documents found (default) 1.9.0: &tvPhx [ [ + | - ] [ : tvlist] ] - by default '' The parameter tvPhx define which additional tv will be added as placeholder. e.g: &tvPhx=`tv1,tv2,tv3` - tv1, tv2, Tv3 are added as placeholders &tvPhx=`+:tv1,tv2,tv3` - tv1, tv2, Tv3 are added as placeholders &tvPhx=`+` - all tvs of the site are added as placeholders &tvPhx=`-` - all tvs of the site are added as placeholders &tvPhx=`-:tv1,tv2,tv3` - all tvs of the site except tv1, tv2, Tv3 are added as placeholders &tvPhx=`` - no tv defined as placeholders. The following placeholders are anabled with the tv: [+as.tvname+], [+as.tvnameShow+], [+as.tvnameClass+] Where tvname is the MODX name of a TV [+as.tvname+] is the HTML output of your TV [+as.tvnameShow+] = 1 if the TV is not NULL [+as.tvnameClass+] : - ajaxSearch_resultTvname for the non ajax results (&tplResult) - AS_ajax_resultTvname for the ajax window (&tplAjaxResult) The tv value could be used with the filter parameter (see &filter) As withTvs includes the TV as a new field in the select clause of the mysql query, tvPhx append the content of the selected tv after the search and before filer. 5/ ============================ Add PagingType 0 to your AjaxSearch snippet calls The default pagingType is 1. So to keep your previous look & feel you need to add &pagingType=`0` With the non-ajax mode, this allow the pagination as 1.8.5 With the ajax mode this disabled the pagination of results for a group of results. 1.9.0: &pagingType [ 0 | 1 | 2 | 3 ] : type of pagination Default: 1 0: Results Pages 1 | 2 | 3 1: Previous - X-Y /Z - Next 2: X-Y /Z - Show more 10 results Type 0 for non-ajax mode only Type 1 for non-ajax and ajax mode Type 2 for ajax mode (Jquery only) 6/ ============================ define the "init" css class to prevent javascript disabling When using ajax mode, it's better to plan that javascript could be disabled. In this case you need to add a landingPage to see the search results and define the css class "init" to mask the ajaxSearch_output div when javascript is disabled. Simply add in your css file: #ajaxSearch_output.init { border: none; background-color: #FFF; } 7/ ============================ Customize the look & field of your search results display For a better look & field of your results display define: .ajaxSearch_resultsDisplayed, .AS_ajax_resultsDisplayed : to style the number of results displayed .ajaxSearch_resultsDisplayed, .AS_ajax_resultsDisplayed { font-weight:bold; color:#CC0000; font-size:90%; display:block; float:right; } .ajaxSearch_grpResultsDisplayed.AS_ajax_grpResultsDisplayed : to style the number of results by group displayed .ajaxSearch_grpResultsDisplayed, .AS_ajax_grpResultsDisplayed { font-weight:normal; color:#CC0000; font-size:90%; display:block; float:right; } .ajaxSearch_grpResultName, .AS_ajax_grpResultName : to style the group of results .ajaxSearch_grpResultName, .AS_ajax_grpResultName { background:url(images/img04.jpg) no-repeat left 50%; font:bold 1em Arial, Sans-serif; padding:5px 0 5px 15px; margin:3px 0; } And if you use the pagingType parameter: .ajaxSearch_paging { display:block; margin:5px 0 10px; } .paging1, .paging2 { padding:5px 0 10px; margin:0 0 5px; } .paging1Infos{ margin:0 5px 5px; color:green;} .paging1Prev{ width:16px; margin:0 3px 0 0;display:block; float:left; text-indent:-3000px; background:url(images/asprev.png) 0 center no-repeat; } .paging1Next{ width:16px;display:inline-block;text-indent:-3000px; background:url(images/asnext.png) 0 center no-repeat; } .paging2More{ margin:10px 10px; padding:8px;background:url(images/asnext.png) 0 center no-repeat;} .paging2Text{ margin:0 0 0 12px; color:green;} .ajaxSearch_currentPage { color:#6F9303; font-weight:bold; } look at documentation/someCssExamples/search.css for some examples. 8/ ============================ New labels added Six labels have been added. So may be some labels could be missing for your language. Used to display the number of results found: $_lang['as_resultsTextSingle'] = '%d result found.'; $_lang['as_resultsTextMultiple'] = '%d results found.'; Used to display the total number of results displayed: $_lang['as_resultsDisplayed'] = 'Displayed: %d'; Used to display the number of results displayed by group: $_lang['as_grpResultsDisplayedText'] = '(Displaying %d - %d of %d)'; Used by pagingType 1: $_lang['as_paging1Text'] = '%d - %d / %d'; Used by pagingType 2: $_lang['as_paging2Text'] = 'Show more %d results';