Jump to content
  • 0

Niestandardowa kolejność wyświetlania produktów


Webmast-er

Question

Witam,

 

Obecnie na sklepie mam ustawioną kolejność według daty dodania, lecz z uwagi na to, iż sklep posiada także dużą ilość produktów niedostępnych i produktów bez cen to chciałbym zmodyfikować mechanizm sortowania.

 

Chciałbym aby mechanizm wyświetlania produktów wyglądał tak:

Wyświetl wszystkie produkty, które spełniają warunek (produkt_dostępny == true AND produkt_pokaz_cene == true) według daty dodania, a gdy warunek już nie jest spełniony to wyświetl wszystkie pozostałe produkty w kolejności według daty dodania.

 

Z góry dziękuję

Webmast-er

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

ale w ktorym miescu chcesz to wysweitlic? w module, np. polecane czy w liscie produktow (product-list.tpl)? i co dokadnie znaczy "product niedpostepny" ? wylaczony? takich w standardzie nie powinien wyswietlac. skad twoja presta wie, ze dany produkt jest dostepny czy nie? kolejna sprawa, czy korzystasz z modulu blocklayered (filtry nawigacyjne)?

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

  • 0

Chodzi o wyświetlanie na liście produktów, ale modyfikacje trzeba prawdopodobnie wykonać w jakimś pliku PHP, a nie w product-list.tpl.

 

Dla jasności poniżej podaje konfigurację produktów niedostępnych i produktów bez ceny, w których ilość sztuk wynosi 0.

 

Produkt niedostępny:

97484819250097435200.png

 

Produkt bez ceny:

09548958115883506496.png

 

Tak, korzystam z filtrów.

Link to comment
Share on other sites

  • 0

ale patrzac na ten pierwszy (niedpostepne) jak to sie ma do dostepnych?bo zakladam, ze w tym miejscu masz ustawienia takie same... dlacze

 

go pytalem o filtry... tutaj bedziesz mial najwieksza przeprawe. to dosc zlozony modul, ktory sam sobie buduje strone product-list.tpl prawie niezaleznie od tego co w szablonie. takze tego tez bedziesz musial przebodowac po stornei szablonow jak i kontrolera oraz ajaxa.

 

a co do samego kontrolera 'order by' to musze tego poszukac bo juz nie pamietam co tym nadzorowalo. na pewno wybor ten wysyla zapytanie do kontrolera (trzaba znalesc ktorego), i zmienia tylko zapytanie do bazy danych (orderby, orderway) i to zapytanie trzeba by zmienic.

 

moze ktos z bywalcow bardzoej pamieta ktory to kontroler?

Link to comment
Share on other sites

  • 0

Faktycznie słuszna uwaga, produkty, które na froncie widoczne są jako niedostępne / bez ceny to w systemie figurują jako dostępne, dlatego właściwy warunek powinien wyglądać następująco:

Wyświetl wszystkie produkty, które spełniają warunek (produkt_ilosc > 0 AND produkt_pokaz_cene == true) według daty dodania, a gdy warunek już nie jest spełniony to wyświetl wszystkie pozostałe produkty w kolejności według daty dodania.

 

Jeżeli chodzi o rozwiązanie to wolałbym to zmienić bezpośrednio w kodzie niż kombinować z modułami.

Edited by Webmast-er (see edit history)
Link to comment
Share on other sites

  • 0

jak pisalem powyzej, musisz poszukac kontrolera odpowiedzialnego za sortowanie. ogolnie w szablonie jest to plik product-sort.tpl, jak w nim zauwazysz tam masz podabne tylko wartosci dla ktorych ma sortowac przy zapytaniu bazy danych OREDER BY (tutek) oraz wartosci ASC, DESC dla malejacych czy rosnacych i to masz wysylane do CategoryController.php. a w szczegolnosci powinna cie zainteresowac klasa getProducts()..... blizszej podpowiedzi nie da sie udzielic ;)

 

co do zabawy czy to w kodzie czy w modulach, nie widze zadnej roznicy. jeden i ten sam czort, tak ogolnie sklep jak i moduly dzialaja na tej samej zasadzie: jest kontroler, ktory wysyla i pobiera dane z plikow szablonu i tyle. nawet w modulach jest prosciej, bo masz wszystko w jednym miejscu ;) a tak czy tak, jak juz tez pisalem powyzej, jezlie korzystasz z modulu filtrow nawigacyjnych (bloklayered) to tego tez bedziesz musial przebudowac tak w kontrolerach jak i skryptach. takie rozwiazanie jakiego oczekujesz bedzie wymagalo dosc sporej wiedzy tak z budowy samej presta, programowania PHP, JS oraz mySQL.

Edited by design4VIP (see edit history)
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...