[Cartoweb-users] Re: Cartoweb-users Digest, Vol 24, Issue 16

Véro Herzl - Bluewin veroh at bluewin.ch
Tue Apr 17 09:03:17 EDT 2007


As you can see if you looked at the list of parameters I joined in the 
first email (i.e. a complete description of what I had), you would have 
find in the search.tpl file the line you requested !

Véronique


cartoweb-users-request at lists.maptools.org a écrit :
> Send Cartoweb-users mailing list submissions to
> 	cartoweb-users at lists.maptools.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://lists.maptools.org/mailman/listinfo/cartoweb-users
> or, via email, send a message with subject or body 'help' to
> 	cartoweb-users-request at lists.maptools.org
>
> You can reach the person managing the list at
> 	cartoweb-users-owner at lists.maptools.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Cartoweb-users digest..."
>
>
> Today's Topics:
>
>    1. Re: Plugin search not working (Oliver Christen)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 17 Apr 2007 14:58:04 +0200
> From: "Oliver Christen" <oliver.christen at camptocamp.com>
> Subject: Re: [Cartoweb-users] Plugin search not working
> To: V?ro Herzl - Bluewin <veroh at bluewin.ch>,	"Damien Corpataux"
> 	<damien.corpataux at camptocamp.com>,	<cartoweb-users at lists.maptools.org>
> Message-ID: <00e701c780f0$0cb71560$15e3a8c0 at maunakea>
> Content-Type: text/plain; charset="utf-8"
>
> Hi
>
> there are no search_config parameter set in the post request. I think the main search input name must be search_config
> do you have a <input type="hidden" id="search_config" name="search_config"  element in your search template ?
>
> regards
> Oliver
>  
>   ----- Original Message ----- 
>   From: Véro Herzl - Bluewin 
>   To: Damien Corpataux ; cartoweb-users at lists.maptools.org 
>   Sent: Tuesday, April 17, 2007 2:21 PM
>   Subject: Re: [Cartoweb-users] Plugin search not working
>
>
>   OK, well, I am in the development mode but with Ajax on and cartoclient.Ajaxheader,tpl, so the error message is for the Ajay part
>
>
> --- Action Search.DoIt triggered ---
>
> Calling Search.DoIt onBeforeAjaxCall()
>
> Calling AjaxPlugins.Common.onBeforeAjaxCall()
> Initiating AJAX request
> Pending actions: 1
> GET params:
> ajaxActionRequest=Search.DoIt&
> POST params:
>
> posted=1&js_folder_idx=5&js_toolbar_idx=&selection_type=&selection_coords=&features=&js_accounting=version=0;
> hasJava=true;winInnerWidth=1024;winInnerHeight=578;screenWidth=1024;
> screenHeight=768;screenColorDepth=32&outline_label_text=votre 
> titre&tool=zoomin&project=n16&recenter_x=&recenter_y=&recenter_doit=0&shortcut_doit=0&openNodes=&layers
> []=OPA&layers[]=OPB&layers[]=OPC&layers[]=OPD&layers[]=OPE&layers[]
> =OPF&layers[]=OPG&layers[]=OPH&layers[]=N16&layers[]
> =POSTGIS_MAJ&layers[]=EDITPOINT&layers[]=EDITPOLY&layers[]
> =EDITLINE&pdfMarginX=20&pdfMarginY=20&pdfA4x=210&pdfA4y=297&pdfA3x=297&pdfA3y=420&pdfOrientation=portrait&pdfMapAngle=&pdfMapCenterX=&pdfMapCenterY=&pdfTitle=&pdfNote=&pdfScalebar=&pdfLegend=0&viewTitle=&author=&handleView=0&locate_MAJ=&locate_MAJ2=&id_recenter_ids=&search_mandat_n16=N2354&search_travaux=&search_date_txt=&search_en_cours=&search_config=&search_sort_column=&search_sort_direction=asc&search_number=&outline_mask=no&outline_point_symbol=circle&outline_point_size=10&outline_line_size=3&outline_line_transparency=100&outline_polygon_transparency=60&edit_validate_all=0&recenter_scale=0&shortcut_id=-
> 1&mapsize=1&pdfFormat=A4&pdfResolution=96&pdfScale=2500&id_recenter_layer=MAJ&edit_layer=0&
> Waiting for response...
> Response received!
> Error: AjaxHandler.actionRequest(): received response is 
> malformed!
>
> And below it, I got the following failure :
>
>   Failure
>
>
>
>   CartoWeb version: 3.3.0 [$Revision: 1.2 $]
>
>   class:   CartoclientException
>
>   message:   Empty config or config not found
>
>   Backtrace:
>
>
>
>   file: UNKNOWN - UNKNOWN
>
>   call: ClientSearch->handleHttpPostRequest(Array(62))
>
>
>
>   file: 270 - C:\wamp\www\cartoweb3\common\PluginManager.php
>
>   call: call_user_func_array(Array(2), Array(1))
>
>
>
>   file: 320 - C:\wamp\www\cartoweb3\common\PluginManager.php
>
>   call: PluginManager->callPluginImplementing(Object(ClientSearch), "GuiProvider", "handleHttpPostRequest", Array(1))
>
>
>
>   file: 685 - C:\wamp\www\cartoweb3\client\Cartoclient.php
>
>   call: PluginManager->callEnabledPluginsImplementing(1, "GuiProvider", "handleHttpPostRequest", Array(1))
>
>
>
>   file: 995 - C:\wamp\www\cartoweb3\client\Cartoclient.php
>
>   call: Cartoclient->callEnabledPluginsImplementing(1, "GuiProvider", "handleHttpPostRequest", Array(62))
>
>
>
>   file: 1220 - C:\wamp\www\cartoweb3\client\Cartoclient.php
>
>   call: Cartoclient->doMain()
>
>
>
>   file: 38 - C:\wamp\www\cartoweb3\htdocs\client.php
>
>   call: Cartoclient->main()
>
>
>
>   file: 3 - C:\wamp\www\cartoweb3\htdocs\n16.php
>
>   call: require_once("C:\wamp\www\cartoweb3\htdocs\client.php")
>
>
>
>
>
>
>
>
>   Damien Corpataux a écrit : 
>     Hello,
>
>     if you are in development mode, when an error occurs, an alert box is displayed and allows you to print the cartoweb error message. Can you post this error message?
>
>     Regards,
>     Damien
>
>
>     veroh at bluewin.ch wrote: 
> Hello,
>
> I am trying to implement the plugin search in my project but I got 
> the following error
>
> --- Action Search.DoIt triggered ---
>
> Calling Search.DoIt onBeforeAjaxCall()
>
> Calling AjaxPlugins.Common.onBeforeAjaxCall()
> Initiating AJAX request
> Pending actions: 1
> GET params:
> ajaxActionRequest=Search.DoIt&
> POST params:
>
> posted=1&js_folder_idx=5&js_toolbar_idx=&selection_type=&selection_coords=&features=&js_accounting=version=0;
> hasJava=true;winInnerWidth=1024;winInnerHeight=578;screenWidth=1024;
> screenHeight=768;screenColorDepth=32&outline_label_text=votre 
> titre&tool=zoomin&project=n16&recenter_x=&recenter_y=&recenter_doit=0&shortcut_doit=0&openNodes=&layers
> []=OPA&layers[]=OPB&layers[]=OPC&layers[]=OPD&layers[]=OPE&layers[]
> =OPF&layers[]=OPG&layers[]=OPH&layers[]=N16&layers[]
> =POSTGIS_MAJ&layers[]=EDITPOINT&layers[]=EDITPOLY&layers[]
> =EDITLINE&pdfMarginX=20&pdfMarginY=20&pdfA4x=210&pdfA4y=297&pdfA3x=297&pdfA3y=420&pdfOrientation=portrait&pdfMapAngle=&pdfMapCenterX=&pdfMapCenterY=&pdfTitle=&pdfNote=&pdfScalebar=&pdfLegend=0&viewTitle=&author=&handleView=0&locate_MAJ=&locate_MAJ2=&id_recenter_ids=&search_mandat_n16=N2354&search_travaux=&search_date_txt=&search_en_cours=&search_config=&search_sort_column=&search_sort_direction=asc&search_number=&outline_mask=no&outline_point_symbol=circle&outline_point_size=10&outline_line_size=3&outline_line_transparency=100&outline_polygon_transparency=60&edit_validate_all=0&recenter_scale=0&shortcut_id=-
> 1&mapsize=1&pdfFormat=A4&pdfResolution=96&pdfScale=2500&id_recenter_layer=MAJ&edit_layer=0&
> Waiting for response...
> Response received!
> Error: AjaxHandler.actionRequest(): received response is 
> malformed!
>
> I have a search.ini file in my client_conf :
>
> config.POSTGIS_MAJ.provider.type = fulltextTable
> config.POSTGIS_MAJ.provider.table = maj2
> config.POSTGIS_MAJ.provider.id = gid
> config.POSTGIS_MAJ.provider.columns = mandat_n16, travaux, 
> date_txt, en_cours
> config.POSTGIS_MAJ.provider.fulltextColumns = mandat_n16, travaux, 
> date_txt, en_cours
> config.POSTGIS_MAJ.provider.sortColumn = date_txt
> config.POSTGIS_MAJ.provider.sortDirection = asc
> config.POSTGIS_MAJ.provider.sortPriorities = date_txt, mandat_n16, 
> travaux, en_cours
> config.POSTGIS_MAJ.provider.labels = mandat_n16, travaux, date_txt, 
> en_cours
>
> config.POSTGIS_MAJ.formatter.type = smarty
> config.POSTGIS_MAJ.formatter.template = search_results
>
> Where POSTGIS is the layer I declared in my MAP file which is a 
> POSTGRESQL/POSTGIS table (maj2) and gid is the 'id_attribute_string'
>
> I have also one in the server_side :
>
> dbType = pgsql
> dsn = pgsql://postgres:afgan6@localhost:5432/demo_n16
>
> config.POSTGIS_MAJ.provider.type = fulltextTable
> config.POSTGIS_MAJ.provider.table = maj2
> config.POSTGIS_MAJ.provider.id = gid
> config.POSTGIS_MAJ.provider.columns = mandat_n16, travaux, 
> date_txt, en_cours
> config.POSTGIS_MAJ.provider.fulltextColumns = mandat_n16, travaux, 
> date_txt, en_cours
> config.POSTGIS_MAJ.provider.sortColumn = date_txt
> config.POSTGIS_MAJ.provider.sortDirection = asc
> config.POSTGIS_MAJ.provider.sortPriorities = date_txt, mandat_n16, 
> travaux, en_cours
> config.POSTGIS_MAJ.provider.labels = mandat_n16, travaux, date_txt, 
> en_cours
>
> config.POSTGIS_MAJ.formatter.type = smarty
> config.POSTGIS_MAJ.formatter.template = search_results
>
> I modified my cartoclient.tpl by adding two lines
>
> {if $search_active|default:''}<script type="text/javascript" src="
> {r type=js plugin=search}Search.ajax.js{/r}"></script>{/if}
> which is just after the one for the Ajax ({if $ajaxOn|default:''} 
> etc..)
> and in the div="container", I added in one of my div=folder : 
> {if $search_active|default:''} {$search} {/if}
>
> I got in templates, two files :
>
> search.tpl:
>
> <div id="search_div">
> 	<fieldset>
> 		<legend>{t}Search{/t}
> 		</legend>
> 		<br/>
> 		<table width="100%">
> 			<tr>
> 			<td>
> 				{t}Mandat: {/t}
> 			</td>
> 			
> 			<td>
> 				<input type="text" id="search_mandat_n16" name="
> search_mandat_n16" size="13"/>
> 			</td>
> 			</tr>
> 			
> 			<tr>
> 			<td>
> 				{t}Type de travaux: {/t}
> 			</td>
> 			
> 			<td>
> 				<input type="text" id="search_travaux" name="search_travaux" 
> size="13"/>
> 			</td>
> 			</tr>
>
> 			<tr>
> 			<td>
> 				{t}Date: {/t}
> 			</td>
> 			
> 			<td>
> 				<input type="text" id="search_date_txt" name="search_date_txt" 
> size="13"/>
> 			</td>
> 			</tr>			
> 			
> 			<tr>
> 			<td>
> 				{t}En cours ou non: {/t}
> 			</td>
> 			
> 			<td>
> 				<input type="text" id="search_en_cours" name="search_en_cours" 
> size="13"/>
> 			</td>
> 			</tr>
> 		</table>
> 		
> 		<p>
> 			<input type="submit" value="{t}Search{/t}" class="form_button" 
> onclick="Javascript: CartoWeb.trigger('Search.DoIt'); return false;" 
> />
> 			<input type="hidden" id="search_config" name="search_config" />
> 			<input type="hidden" id="search_sort_column" name="
> search_sort_column" />
> 			<input type="hidden" id="search_sort_direction" name="
> search_sort_direction" value="asc" />
> 			<input type="hidden" id="search_number" name="search_number" />
> 					
> 			<div id="search_results_div">
> 			</div>
> 		</p>
> 	</fieldset>
> </div>
>
> and search_results.tpl
>
> {if $table->numRows > 0}
> 	<table class="n16table">
> 		<tr>
> 			<th>
> 				{t}Id{/t}
> 			</th>
> 			{foreach from=$table->columnIds item=column}
> 				<th>
> 					<a href="Javascript: order('{$column}');">{t}{$column}{/t}
> </a>
> 				</th>
> 			{/foreach}
> 		</tr>
> 		
> 		{foreach from=$table->rows item=row}
> 		<tr>
> 		{foreach from=$row->cells item=value}
> 		<td>
> 			<a href="Javascript: recenter('{$row->rowId}');">{$value}</a>
> 		</td>
> 		{/foreach}
> 		</tr>
> 		{/foreach}
> 	</table>
> {else}
> {t}No results{/t}
> {/if}
>
>
> Last but not least, I got the js ! Namely Search.ajax.js
>
> AjaxPlugins.Search = {
>   
>     handleResponse: function(pluginOutput) {
>         
>         if (pluginOutput.htmlCode.POSTGIS_MAJ)
>             $('search_results').innerHTML = pluginOutput.htmlCode.
> POSTGIS_MAJ;
> 			}
> 			};
>
>
> /*
>  * Search plugin's Actions
>  */
>  
> AjaxPlugins.Search.Actions = {};
>
> AjaxPlugins.Search.Actions.DoIt = {
>
>     buildPostRequest: function(argObject) {
>         return AjaxHandler.buildPostRequest();
>     }
> };
>
> function order(column) {
>     
>     if (column != $('search_sort_column').value){
> 	$('search_sort_column').value = column;
> 	$('search_sort_direction').value = 'asc';
> 	} else {
> 	if ($('search_sort_direction').value == 'asc') {
> 	$('search_sort_direction').value = 'desc';
> 	} else {
> 	$('search_sort_direction').value = 'asc';
> 	}
> 	}
>     
>     CartoWeb.trigger('Search.DoIt');
> }
>
> function recenter(id) {
> 	if ($('search_config').value == 'POSTGIS_MAJ') {
>     $('id_recenter_ids').value = gid; //id to recenter
> 	$('recenter_scale').value = 1000; //scale for recentering
> 	$('recenter_doit').value = '1';
>     
>     CartoWeb.trigger('Location.Recenter');
> }
>
> I guess you now know all I did. Could someone please tell me what 
> is wrong.
>
> Apparently, someone else asked the same thing last month but no 
> final answer was given on the mail list.
>
> PS : Yes, I did clean all the file before trying
>
> Véronique
>
> _______________________________________________
> Cartoweb-users mailing list
> Cartoweb-users at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/cartoweb-users
>   
>
>
>     -- 
>     Camptocamp SA
>     Damien Corpataux
>     PSE A
>     CH-1015 Lausanne
>
>     +41 21 619 10 22 (Direct)
>     +41 21 619 10 10 (Centrale)
>     +41 21 619 10 00 (Fax)
>
>     P Please consider the environment 
>     Do you really need to print this email? 
>
>
>
>
> ------------------------------------------------------------------------------
>
>
>   _______________________________________________
>   Cartoweb-users mailing list
>   Cartoweb-users at lists.maptools.org
>   http://lists.maptools.org/mailman/listinfo/cartoweb-users
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://lists.maptools.org/pipermail/cartoweb-users/attachments/20070417/0dac5145/attachment.html
>
> ------------------------------
>
> _______________________________________________
> Cartoweb-users mailing list
> Cartoweb-users at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/cartoweb-users
>
>
> End of Cartoweb-users Digest, Vol 24, Issue 16
> **********************************************
>   



More information about the Cartoweb-users mailing list