[Virtuemart 1.1.9] Modulo Search: modificare query di ricerc

Moderator: alexred

Forum rules
Regole Forum
Locked
User avatar
robertosalemi
Joomla! Apprentice
Joomla! Apprentice
Posts: 47
Joined: Wed Sep 19, 2012 3:45 pm
Location: Acicatena, Catania

[Virtuemart 1.1.9] Modulo Search: modificare query di ricerc

Post by robertosalemi » Fri Dec 27, 2013 5:20 pm

Salve a tutti,
ho la necessità di modificare la query di ricerca del modulo Search di Virtuemart.

Vi spiego la mia esigenza: ho caricato dei prodotti come Prodotto 1, Prodotto 2, Prodotto 3, ecc...

Nello stato attuale se faccio la ricerca di "Prodotto 1" lui mi trova si "Prodotto 1" che gli altri elementi che contengono il termini "Prodotto", invece io vorrei fare una ricerca mirata solo su quello che l'utente cerca.

Sicuramente viene effettuato uno split del termine inserite, invece io dovrei effettuare un LIKE "%Prodotto 1%", ma come posso effettuare questa modifica?

Grazie.
Skype: robertino_salemi

User avatar
alikon
Joomla! Champion
Joomla! Champion
Posts: 5941
Joined: Fri Aug 19, 2005 10:46 am
Location: Roma
Contact:

Re: [Virtuemart 1.1.9] Modulo Search: modificare query di ri

Post by alikon » Fri Dec 27, 2013 5:33 pm

non conosco il molto virtuemart probabilmente il modulo chiama un qualche metodo del componente virtuemart per fare la ricerca per cui forse ti conviene crearti in modulo ad hoc con la tua query di ricerca
Nicola Galgano
i know that i don't know
www.alikonweb.it

User avatar
robertosalemi
Joomla! Apprentice
Joomla! Apprentice
Posts: 47
Joined: Wed Sep 19, 2012 3:45 pm
Location: Acicatena, Catania

Re: [Virtuemart 1.1.9] Modulo Search: modificare query di ri

Post by robertosalemi » Sat Dec 28, 2013 9:40 am

Ho trovato il codice che mi interessa in
\web\administrator\components\com_virtuemart\html\shop_browse_queries.php linea 85
tramite il suggerimento di un utente di un altro forum.

Code: Select all

$keywordArr = vmGetCleanArrayFromKeyword( $keyword );
la funzione vmGetCleanArrayFromKeyword serve proprio ad effettuare l'explode, così l'ho omessa e scritto

Code: Select all

$keywordArr = trim($keyword);
$keywordArr = array($keyword);
Sembra che funzioni!
Skype: robertino_salemi

User avatar
robertosalemi
Joomla! Apprentice
Joomla! Apprentice
Posts: 47
Joined: Wed Sep 19, 2012 3:45 pm
Location: Acicatena, Catania

Re: [Virtuemart 1.1.9] Modulo Search: modificare query di ri

Post by robertosalemi » Sat Jan 18, 2014 6:39 pm

Chiedo ancora un piccolo aiutino, pensavo di aver risolto ma non è stato così!

Riepilogando ho modificato la funzione di ricerca così:

Code: Select all

$keywordArr = trim($keyword);
$keywordArr = array($keyword);
Il tutto riguarda questo sito web: se nel modulo di ricerca scrivo 'Singer 760' ho visto che lui restituisce il risultato solo se tale campo è presente nella colonna product_name di vm_product, a me interessa soprattutto il campo product_desc e nella query di default è presente:

Code: Select all

		$sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR ";
		$sq .= "\n `#__{vm}_product`.`product_sku` LIKE '%$searchstring%' OR ";
		$sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR ";
		$sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') ";
Ad esempio questo prodotto, il quale ha nella descrizione il campo 'Singer 760' non appare, come mai?

E' vero che è circondato da tag html cioè:
<p style="line-height: normal;"><b><span style="font-size: 10pt; font-family: ">SINGER 760</span></b><span style="font-size: 12pt; font-family: " New="New"></span></p>

Come mai non lo trova?
Come dovrei cambiare la condizione di ricerca?

Grazie.
Skype: robertino_salemi


Locked

Return to “Componenti - Moduli - Plugins”