Hello all,<br><br>I need some help. I&#39;m configuring &quot;basic usage&quot; of the search plugin and I encounter this message<br><br>CartoWeb version: 3.4.0 [$Revision: 1.7 $]<br>class:&nbsp;&nbsp; CartocommonException<br>message:&nbsp;&nbsp; Failed executing total SQL query Message: DB Error: unknown error&nbsp; Userinfo: SELECT COUNT(*) FROM () [nativecode=ERROR:&nbsp; subquery in FROM must have an alias<br>
HINT:&nbsp; For example, FROM (SELECT ...) [AS] foo.]<br>Backtrace:<br><br>file: 342 - C:\ms4w\apps\cartoweb3\plugins\search\common\Search.php<br>call: Utils::checkDbError(Object(DB_Error), &quot;Failed executing total SQL query&quot;)<br>
<br>file: 269 - C:\ms4w\apps\cartoweb3\plugins\search\client\ClientSearch.php<br>call: DbResultProvider-&gt;getResult(Object(SearchRequest))<br><br>file: 265 - C:\ms4w\apps\cartoweb3\client\ClientPluginHelper.php<br>call: ClientSearch-&gt;initializeResult(Null)<br>
<br>file: UNKNOWN - UNKNOWN<br>call: ServerCallerHelper-&gt;initializeResultHelper(Object(ClientSearch), Object(MapResult))<br><br>....<br><br>This message seems to say for the count in Search.php I need to add an &quot;as foo&quot; at line 342 but I&#39;m not supposed to touch this code : I suppose it works. (If I correct it, it doesn&#39;t work too: the GUI plugin search stop) <br>
<br>Someone got an idea about my problem. Does it come from from my configuration files or from a bug from the framework.<br>You&#39;ll find below my configuration files search.ini, search.tpl, Search.ajax.js, search_results.tpl and my *.map<br>
<br>I&#39;ve activated search plugins on both side (server and client), I&#39;ve inserted the code for the tpl and the ajax in cartoclient.tpl<br><br>############## search.ini #########################<br><br>;name search configuration<br>
dsn = pgsql://user_name:password@localhost:5432/database_name<br>encodingContext = search_parc<br>config.parc_2.provider.type = fulltextTable<br>config.parc_2.provider.table = parc_2<br>config.parc_2.provider.aliases = idnum,idnum,ident,ident,feuille,feuille,co_se_fe,co_se_fe,lieudit,lieudit,tex2,tex2,idu,idu,nature,nature,classe,classe,tex,tex,codm,codm,coar,coar,supf,supf,indp,indp,ncompte,ncompte,proprio,proprio,surf_gra,surf_gra,ctr_surf,ctr_surf,cad_dif,cad_dif,insee,insee,comparc,comparc,touche,touche,grpro,grpro,commune,commune,numprop,numprop,trouv,trouv,plu,plu<br>
<a href="http://config.parc_2.provider.id">config.parc_2.provider.id</a> = gid<br>config.parc_2.provider.columns = gid,ident,ncompte,proprio,<br>config.parc_2.provider.fulltextColumns = ident,ncompte,proprio<br>config.parc_2.provider.sortColumn = ident<br>
config.parc_2.provider.sortDirection = asc<br>config.parc_2.provider.sortPriorities = ident, ncompte, proprio<br>config.parc_2.provider.labels =&nbsp; ident, proprio<br>config.parc_2.formatter.type = smarty<br>config.parc_2.formatter.template = search_results<br>
<br>############## client.ini #########################<br><br>;!!!Do not edit this file, it is generated. Edit the .in instead!!!&nbsp;&nbsp; <br>cartoclientBaseUrl = &quot;<a href="http://www.i-sig.biz:8080/cartoweb3/htdocs">http://www.i-sig.biz:8080/cartoweb3/htdocs</a>&quot;&nbsp; <br>
profile = development<br><br><br>ajaxOn = true<br>mapId = chapareillan<br><br>;Set encoding for files<br><br>EncoderClass.search_parc = EncoderISO<br>&nbsp;&nbsp;&nbsp; <br>showProjectChooser = false<br><br>; ## Plugins ##&nbsp;&nbsp;&nbsp; <br><br>loadPlugins = layerReorder,edit,auth,locate,search<br>
 <br>toolbarRendering = outline&nbsp;&nbsp; <br><br>langList = <br><br>toolPickerOn = true<br><br>viewOn = true<br>viewStorage = file<br>viewablePlugins = layers,query,edit,auth,search<br>viewMetas = author<br>viewAuth = all<br><br>
############## extract of myproject.map #########################<br>
<br>
LAYER<br>
&nbsp; STATUS ON<br>
&nbsp;&nbsp;&nbsp; NAME &quot;parc_2&quot;<br>
&nbsp;&nbsp;&nbsp; TYPE POLYGON<br>
&nbsp;&nbsp;&nbsp; CONNECTIONTYPE postgis<br>
&nbsp;&nbsp;&nbsp; CONNECTION &quot;user=user_name password=password host=localhost dbname=database_name&quot;<br>
&nbsp;&nbsp;&nbsp; DATA &quot;the_geom from (select * from parc_2) as foo USING UNIQUE gid USING SRID=27572&quot;<br>
&nbsp;&nbsp;&nbsp; TEMPLATE &quot;ttt&quot;<br>
&nbsp;&nbsp;&nbsp; METADATA<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;wms_title&quot; &quot;parc_2&quot;<br>
&nbsp;&nbsp;&nbsp; &nbsp; &quot;exported_values&quot; &quot;recenter_name_string,id_attribute_string&quot;<br>
&nbsp;&nbsp;&nbsp; &nbsp; &quot;recenter_name_string&quot; &quot;ident&quot;<br>
&nbsp;&nbsp;&nbsp; &nbsp; &quot;id_attribute_string&quot; &quot;gid|string&quot; # query<br>
&nbsp;&nbsp;&nbsp; &nbsp; &quot;query_returned_attributes&quot; &quot;gid idnum ident feuille co_se_fe
lieudit tex2 idu nature classe tex codm coar supf indp ncompte proprio
surf_gra ctr_surf cad_dif insee comparc touche grpro commune numprop
trouv&quot;<br>
&nbsp;&nbsp;&nbsp; END<br>
&nbsp;&nbsp;&nbsp; STATUS DEFAULT<br>
&nbsp;&nbsp;&nbsp; TRANSPARENCY 100<br>
&nbsp;&nbsp;&nbsp; PROJECTION<br>
&nbsp;&nbsp;&nbsp; &#39;init=epsg:27572&#39;<br>
&nbsp;&nbsp;&nbsp; END<br>
&nbsp;&nbsp;&nbsp; CLASS<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAME &#39;parc_2&#39; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STYLE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SYMBOL 0 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SIZE 10 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUTLINECOLOR 0 0 0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COLOR 255 255 255<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END<br>
&nbsp;&nbsp;&nbsp; END<br>
&nbsp; END<br><br>############## search.tpl #########################<br><br>&lt;div id=&quot;search_div&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;fieldset&gt;&lt;legend&gt;{t}Recherche parcellaire{/t}&lt;/legend&gt; &lt;br/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table width=&quot;100%&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {t}Parcelle: {/t}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;text&quot; id=&quot;search_ident&quot; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name=&quot;search_ident&quot; size=&quot;13&quot;/&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {t}Proprietaire par compte: {/t}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;text&quot; id=&quot;search_ncompte&quot; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name=&quot;search_ncompte&quot; size=&quot;13&quot;/&gt; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {t}Proprietaire par nom: {/t}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;text&quot; id=&quot;search_proprio&quot; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name=&quot;search_proprio&quot; size=&quot;13&quot;/&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;submit&quot; value=&quot;{t}Search{/t}&quot; class=&quot;form_button&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onclick=&quot;javaScript: CartoWeb.trigger(&#39;Search.DoIt&#39;); return false;&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; id=&quot;search_config&quot; name=&quot;search_config&quot; value=&quot;parc_2&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; id=&quot;search_sort_column&quot; name=&quot;search_sort_column&quot; value=&quot;ident&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; id=&quot;search_sort_direction&quot; name=&quot;search_sort_direction&quot; value=&quot;asc&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; id=&quot;search_number&quot; name=&quot;search_number&quot; value=&quot;10&quot;/&gt;<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id=&quot;search_results_div&quot;&gt;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/fieldset&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br><br>############## search_results.tpl #########################<br><br>{if $table-&gt;numRows &gt; 0}<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;table class=&quot;yourCssClass&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;th&gt;{t}Id{/t}&lt;/th&gt;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {foreach from=$table-&gt;columnIds item=column}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;th&gt; &lt;a href=&quot;JavaScript: order(&#39;{$column}&#39;);&quot;&gt;{t}{$column}{/t}&lt;/a&gt;&lt;/th&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {/foreach}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {foreach from=$table-&gt;rows item=row}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td&gt;{$row-&gt;rowId}&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {foreach from=$row-&gt;cells item=value}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;a href=&quot;JavaScript: recenter(&#39;{$row-&gt;rowId}&#39;);&quot;&gt;{$value}&lt;/a&gt;&lt;/td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {/foreach}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {/foreach}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;<br>{else}<br>&nbsp;&nbsp;&nbsp;&nbsp; {t}No results{/t}<br>{/if}<br><br>############## Search.ajax.js #########################<br><br>AjaxPlugins.Search = {<br>&nbsp; <br>&nbsp;&nbsp;&nbsp; handleResponse: function(pluginOutput) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //should be the same value as the input search_config<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pluginOutput.htmlCode.parc_2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;search_results_div&#39;).innerHTML = pluginOutput.htmlCode.parc_2;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; } &nbsp;<br>};<br><br>&nbsp;&nbsp;&nbsp; /*<br>&nbsp;&nbsp;&nbsp; * Search plugin&#39;s Actions<br>&nbsp;&nbsp;&nbsp; */<br>
<br>&nbsp;&nbsp;&nbsp; AjaxPlugins.Search.Actions = {};<br><br>&nbsp;&nbsp;&nbsp; AjaxPlugins.Search.Actions.DoIt = {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buildPostRequest: function(argObject) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return AjaxHandler.buildPostRequest();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; };<br><br>&nbsp;&nbsp;&nbsp; function order(column) {<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (column != $(&#39;search_sort_column&#39;).value) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;search_sort_column&#39;).value = column;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;search_sort_direction&#39;).value = &#39;asc&#39;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($(&#39;search_sort_direction&#39;).value == &#39;asc&#39;) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;search_sort_direction&#39;).value = &#39;desc&#39;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;search_sort_direction&#39;).value = &#39;asc&#39;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CartoWeb.trigger(&#39;Search.DoIt&#39;)<br>
&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; function recenter(id){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($(&#39;search_config&#39;).value == &#39;parc_2&#39;) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //id to recenter, be sure there is a hidden input with that name and <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //id in your template! if not, add it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;id_recenter_ids&#39;).value = id;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* if the search database table name is the same as the related layer <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to recenter on, you can set it as below<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; be sure there is a hidden input with that name and id in your template! <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not, add it */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;id_recenter_layer&#39;).value = $(&#39;search_config&#39;).value;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* do not use the recenter_scale parameter if you recenter on ids, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only use it with recenter on x,y.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; you can set the recenter scale in location.ini on server side */<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* do not use the recenter_doit parameter if you recenter on ids,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only use it with recenter on x,y. */<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CartoWeb.trigger(&#39;Location.Recenter&#39;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;function search(config) {<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; $(&#39;search_config&#39;).value = config;<br>&nbsp;&nbsp;&nbsp; if (config == &#39;parc_2&#39;) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(&#39;search_number&#39;).value = 10;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; CartoWeb.trigger(&#39;Search.DoIt&#39;);<br><br><br>Thanks for any help<br><br>Thomas G<br>