02 settembre 2013

Zen Cart: come escludere una categoria dalla ricerca

Spesso vi sono richieste ed esigenze fuori dagli schemi....

Posso escludere la categoria xxx dalla ricerca?

Perché contiene un tipo di articolo, come ad esempio i ricambi per gli altri articoli categorizzati, che per ovvi motivi ha delle descrizioni tali per cui entra a pieno titolo nei risultati di ricerca ma inquinandoli e facendo perdere il fucus sui prodotti in vendita.

Bene, con Zen Cart semplice e pulito il passaggio per risolvere è aprire questo file:


/includes/modules/pages/advanced_search_results/header_php.php

e cambiare dove è presente questa parte di codice:


$where_str = " WHERE (p.products_status = 1
               AND p.products_id = pd.products_id
               AND pd.language_id = :languagesID
               AND p.products_id = p2c.products_id
               AND p2c.categories_id = c.categories_id ";

per escludere ad esempio la categoria 990 modificando il codice in:

$where_str = " WHERE (p.products_status = 1
               AND p.products_id = pd.products_id
               AND pd.language_id = :languagesID
               AND p.products_id = p2c.products_id
               AND p2c.categories_id = c.categories_id 
               AND c.categories_id != '990'";

NOTA: è possibile adoperare anche questa scrittura:
AND p.master_categories_id != '27'

Salva chiudi ricarica e prova nella ricerca del sito.

Se prima i risultati erano tantissimi ed inquinati ora saranno solo quelli corretti senza quelli della categoria incriminata. Domanda e Risposta in 5 minuti, fatto!