Jump to content

(Solucionado) cambiar campo de lista desplegable del buscador


Recommended Posts

Buenas a todos!!!

 

Tengo la siguiente cuestión que no consigo modificar, a ver si me podéis orientar y echar una mano.

Sabéis como puedo modificar la información que se ve en la lista desplegable del buscador. 

Es decir aparece la categoría del producto y el producto, y yo quiero meter la referencia también.

Tengo localizados los siguientes fichero y creo que la cosa esta por aquí, pero no veo que línea de código hay que tocar.

 

jquery.autocomplete.js

Blocksearch.tpl

Blocksearch-top.tpl

SearchController.php

 

Muchas gracias de antemano a todos por la ayuda.

un saludo!!!

 

PD: adjunto una imagen de lo que quiero modificar para que quede claro.

       utilizo una versión 1.4.7

 

 

 

post-454129-0-97036300-1382601553_thumb.png

Edited by karles (see edit history)
Link to comment
Share on other sites

Hola,

 

Yo soy un total novato, pero creo que a lo mejor tienes que modificar el fichero:

/classes/Search.php

esta funcion:

	if ($ajax)
		{
			return $db->ExecuteS('
			SELECT DISTINCT p.id_product, pl.name pname, cl.name cname, cl.link_rewrite crewrite, pl.link_rewrite prewrite '.$score.'
			FROM '._DB_PREFIX_.'product p
			INNER JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.(int)$id_lang.')
			INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (p.`id_category_default` = cl.`id_category` AND cl.`id_lang` = '.(int)$id_lang.')
			WHERE p.`id_product` '.$productPool.'
			ORDER BY position DESC
			LIMIT '.($pageSize != 1 ? (int)$pageSize : 10));
		}

y luego a lo mejor tienes que modificar en el fichero

blocksearch-top.tpl

este codigo:

{if $ajaxsearch}
	<script type="text/javascript">
	// <![CDATA[
	{literal}
		$('document').ready( function() {
			$("#search_query_top")
				.autocomplete(
					'{/literal}{if $search_ssl == 1}{$link->getPageLink('search.php', true)}{else}{$link->getPageLink('search.php')}{/if}{literal}', {
						minChars: 3,
						max: 10,
						width: 500,
						selectFirst: false,
						scroll: false,
						dataType: "json",
						formatItem: function(data, i, max, value, term) {
							return value;
						},
						parse: function(data) {
							var mytab = new Array();
							for (var i = 0; i < data.length; i++)
								mytab[mytab.length] = { data: data[i], value: data[i].cname + ' > ' + data[i].pname };
							return mytab;
						},
						extraParams: {
							ajaxSearch: 1,
							id_lang: {/literal}{$cookie->id_lang}{literal}
						}
					}
				)
				.result(function(event, data, formatted) {
					$('#search_query_top').val(data.pname);
					document.location.href = data.product_link;
				})
		});
	{/literal}
	// ]]>
	</script>
{/if}
Link to comment
Share on other sites

ya tengo el tema solucionado

Estimado karles,

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

 

Si no encuentras como añadir la palabra "Solucionado" al título del tema, aquí tienes una guía: http://www.prestashop.com/forums/topic/269515-solucionado-¿como-poner-la-palabra-solucionado-en-el-titulo-del-tema/

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...