Jump to content
  • 0

Nawigacja fasetowa a atrybuty poprawa działania presta 1.7


maksww

Question

Witam

Jeśli ustawimy dla danego produkty atrybuty 

niech będzie produkt  "a" który ma atrybuty 1,2,3

po wyprzedaniu obojętnie którego atrybutu i jego ilość będzie wynosiła 0 to nawigacja fasetowa po zaznaczeniu filtru dalej

będzie pokazywać dany produkt pomimo tego że został on wyprzedany.

Poniżej pręzętuje rozwiązanie dla tego problemu 

plik modules/ps_facetedsearch/ps_facetedsearch.php

linia  1347

znajdujemy 

foreach ($sub_queries as $sub_query) {
                        $query_filters_where .= ' AND p.id_product IN (SELECT pa.`id_product`
                        FROM `'._DB_PREFIX_.'product_attribute_combination` pac
                        LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa
                        ON (pa.`id_product_attribute` = pac.`id_product_attribute`)'.
                        Shop::addSqlAssociation('product_attribute', 'pa').'
                        WHERE '.implode(' OR ', $sub_query).') ';

zmieniamy na 

foreach ($sub_queries as $sub_query) {
                        $query_filters_where .= ' AND p.id_product IN (SELECT pa.`id_product`
                        FROM `'._DB_PREFIX_.'product_attribute_combination` pac
                        LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa
                        ON (pa.`id_product_attribute` = pac.`id_product_attribute`)'.
                        Shop::addSqlAssociation('product_attribute', 'pa').'
JOIN `'._DB_PREFIX_.'stock_available` sa
ON (sa.`id_product_attribute`=pac.`id_product_attribute` AND sa.`quantity`>0)
                        WHERE '.implode(' OR ', $sub_query).') ';

testowane na prestashop 1.7.2.1

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

1 answer to this question

Recommended Posts

  • 0

Witam

Presta 1.7.5

Nawigacja fasetowa 3.2.0

Potrzebna taka modyfikacja dotycząca wyświetlania produktów z atrybutami nie zerowymi

np

produkty mają atrybuty S,M,L

jakiś produkt w atrybucie S ma stan 0

Zaznaczamy do wyświetlenia produkty z atrybutem S

Mają się pokazać tylko produkty z atrybutem S ze stanem > 0

Obecnie pokazują się wszystkie produkty z utworzonym atrybutem S również zerowym

Sytuacja analogiczna jak powyżej, tylko moduł napisany innaczej i nie potrafię tego zrobić...

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...