Darkkz Posted February 25, 2014 Share Posted February 25, 2014 Salut, Doresc sa ordonez invers produsele recomandate de pe site. Metoda din BO nu ma ajuta, deoarece am nevoie sa le ordonez pe toate, odata, nu unul cate unul. Teoretic, as modifica Query-ul SQL daca l-as gasi, sa pun un ORDER BY.. DESC, doar ca modul in care este scris Presta imi depaseste cunotintele actuale. Banuiesc ca, codul ce se ocupa de extragerea produselor din DB este acesta: public function hookDisplayHome($params) { if (!$this->isCached('homefeatured.tpl', $this->getCacheId('homefeatured'))) { $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)Configuration::get('HOME_FEATURED_NBR'); $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8)); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), )); } return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId('homefeatured')); } Codul de mai sus l-am luat din module/homefeatured/homefeatured.php. Banuiesc ca aici trebuie sa fac o filtrare descrescatoare sau ceva.. Are cineva o solutie? Problema e ca, poate le-as aranja cu un query SQL direct in DB, dar pe termen lung nu este o solutie. Multumesc Link to comment Share on other sites More sharing options...
cristic Posted February 25, 2014 Share Posted February 25, 2014 Pai de ce nu faci asta direct din BO? Uite, te poate ajuta solutia asta. Link to comment Share on other sites More sharing options...
Darkkz Posted February 25, 2014 Author Share Posted February 25, 2014 Salut,Din BO nu rezolv mare chestie, stiam de solutia aia. Poate nu m-am descurcat eu cu ea, dar prin metoda aia trebuie sa le ordonez manual pe toate.Anyway, am rezolvat problema. Pentru cine este interesat, sa inlocuiasca functia asta, la linia 117 (sau cel putin sa caute de unde incepe daca are eventual alte modificari ce vor altera numarul de linii). public function hookDisplayHome($params) { if (!$this->isCached('homefeatured.tpl', $this->getCacheId('homefeatured'))) { $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)Configuration::get('HOME_FEATURED_NBR'); $products = Product::getNewProducts((int) $params['cookie']->id_lang, 0, (int) Configuration::get('NEW_PRODUCTS_NBR')); //shuffle($products); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), )); } return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId('homefeatured')); } Link to comment Share on other sites More sharing options...
cristic Posted February 25, 2014 Share Posted February 25, 2014 Cred ca nu te-ai exprimat bine de la inceput. In solutia data de tine vad ca ai schimbat Product::getProducts cu Product::getNewProducts, ceea ce este altceva - nu mai este vorba de produsele recomandate ci de cele noi. Si vad ca ai pus un shuffle acolo (care apare si comentat). Ai spus la inceput ca vrei sa le ordonezi invers, nu aleatoriu. Solutia cu shuffle($products) este clasica. 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