eraser80 Posted January 9, 2015 Share Posted January 9, 2015 Ciao a tutti, vi presento il mio problema . Utilizzo il modulo navigazione a strati versione 2.0.4 di prestashop su Prestashop 1.6. Dopo aver selezionato tra gli attributi da mostrare l'attributo "misure" nella navigazione filtrata vengono fuori le misure di questo attributo ma mi mostra un numero sbagliato di prodotti corrispondenti ad ogni misura anche se quella misura risulta a 0. Mi spiego meglio: una scarpa a fino alla misura 14. ma se la misura 14 a 0 di regola non dovrebbe mostrarmela tra i prodotti corrispondenti, no? C'è qualche impostazione da salvare per risolvere questo problema o qualche modifica del file php? Chiedo a voi un consiglio . Grazie a tutti in anticipo Link to comment Share on other sites More sharing options...
LuiBa Posted May 5, 2015 Share Posted May 5, 2015 Ciao, anche io ho lo stesso problema, ho trovato la query che "sbaglia"... in realtà il modulo mostra la quantità di combinazioni disponibili e non la quantità di prodotti disponibili. Prima di cambiare la query chiedo a te se per caso hai risolto. Grazie Link to comment Share on other sites More sharing options...
eraser80 Posted May 5, 2015 Author Share Posted May 5, 2015 Ciao, grazie per la tua risposta! no non sono riuscito a risolvere....saresti la mia salvezza se riuscissi a risolvere cambiando quella query se hai bisogno tu un aiuto per quel che posso cerco di darti una mano tieni aggiornato grazie mille! Link to comment Share on other sites More sharing options...
LuiBa Posted May 5, 2015 Share Posted May 5, 2015 Ho modificato in questo modo: attorno alla linea 2190 del file /modules/blocklayered/blocklayered.php ho la riga case 'id_attribute_group': ho sostituito fino a if (!Configuration::get('PS_LAYERED_HIDE_0_VALUES')) con questo codice $sql_query['select'] = ' SELECT SUM(sa.quantity/sa.quantity) AS nbr, lpa.id_attribute_group, a.color, al.name attribute_name, agl.public_name attribute_group_name , lpa.id_attribute, ag.is_color_group, liagl.url_name name_url_name, liagl.meta_title name_meta_title, lial.url_name value_url_name, lial.meta_title value_meta_title'; $sql_query['from'] = ' FROM '._DB_PREFIX_.'layered_product_attribute lpa INNER JOIN '._DB_PREFIX_.'attribute a ON a.id_attribute = lpa.id_attribute INNER JOIN '._DB_PREFIX_.'attribute_lang al ON al.id_attribute = a.id_attribute AND al.id_lang = '.(int)$id_lang.' INNER JOIN '._DB_PREFIX_.'product as p ON p.id_product = lpa.id_product INNER JOIN '._DB_PREFIX_.'attribute_group ag ON ag.id_attribute_group = lpa.id_attribute_group INNER JOIN '._DB_PREFIX_.'attribute_group_lang agl ON agl.id_attribute_group = lpa.id_attribute_group AND agl.id_lang = '.(int)$id_lang.' INNER JOIN ps_stock_available sa ON sa.id_product = p.id_product LEFT JOIN '._DB_PREFIX_.'layered_indexable_attribute_group_lang_value liagl ON (liagl.id_attribute_group = lpa.id_attribute_group AND liagl.id_lang = '.(int)$id_lang.') LEFT JOIN '._DB_PREFIX_.'layered_indexable_attribute_lang_value lial ON (lial.id_attribute = lpa.id_attribute AND lial.id_lang = '.(int)$id_lang.') INNER JOIN ps_product_attribute_combination ON sa.id_product_attribute = ps_product_attribute_combination.id_product_attribute AND ps_product_attribute_combination.id_attribute = a.id_attribute '; $sql_query['where'] = 'WHERE a.id_attribute_group = '.(int)$filter['id_value']; $sql_query['where'] .= ' AND lpa.`id_shop` = '.(int)Context::getContext()->shop->id; $sql_query['where'] .= ' AND '.$alias.'.active = 1 AND '.$alias.'.`visibility` IN ("both", "catalog") AND p.id_product IN ( SELECT id_product FROM '._DB_PREFIX_.'category_product cp INNER JOIN '._DB_PREFIX_.'category c ON (c.id_category = cp.id_category AND '.(Configuration::get('PS_LAYERED_FULL_TREE') ? 'c.nleft >= '.(int)$parent->nleft.' AND c.nright <= '.(int)$parent->nright : 'c.id_category = '.(int)$id_parent).' AND c.active = 1) ) '; $sql_query['group'] = ' GROUP BY lpa.id_attribute ORDER BY ag.`position` ASC, a.`position` ASC'; fammi sapere .... Link to comment Share on other sites More sharing options...
alessio68 Posted June 23, 2015 Share Posted June 23, 2015 ciao, io ho fatto una prova con il tuo script, perchè sarebbe utilissimo.. Ma non mi funziona, non visualizza i filtri e dalla gestione moduli appare questo messaggio: 2 errori blocklayered (errore di analisi in /modules/blocklayered/blocklayered.php) blocklayered (classe mancante in /modules/blocklayered/blocklayered.php) Avevi fatto altre modifiche per caso? Link to comment Share on other sites More sharing options...
mr.pz Posted September 22, 2015 Share Posted September 22, 2015 Ciao a tutti, ho risolto il problema per la versione 1.6.1.1 con la soluzione proposta in questo post: https://www.prestashop.com/forums/topic/447213-layered-navigation-block-module-dont-display-out-of-stock-products-for-choosen-attributes/ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now