Jump to content
  • 0
maksww

Nawigacja fasetowa a atrybuty poprawa działania presta 1.7

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)

Share this post


Link to post
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ć...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More