Polskie wsparcie PrestaShop
PrestaShop => Php, Java, Flash => Wątek zaczęty przez: mechu w Czerwiec 29, 2016, 10:25:36 am
-
Witam.
Otwieram sklep, bazujący na modelu sprzedaży dropshipping, w związku z czym importując towary od różnych dostawców mam całą masę produktów, z zerowym stanem magazynowym. Wiem, że można wyłączyć artykuły, ale przy tysiącach sztuk takich artykułów, które codziennie są aktualizowane, ręczna robota mija się z celem. W związku z tym postanowiłem przebudować trochę sklep i dodałem w classes/Category.php w metodzie getProducts warunek
WHERE product_shop.`id_shop` = '.(int)$context->shop->id.'
AND cp.`id_category` = '.(int)$this->id
.($active ? ' AND product_shop.`active` = 1' : '')
.($front ? ' AND product_shop.`visibility` IN ("both", "catalog")' : '')
.($id_supplier ? ' AND p.id_supplier = '.(int)$id_supplier : '').
' AND p.`quantity` > 0';
jednak nie przynosi on oczekiwanych rezultatów.
Dodatkowo, chciałbym, żeby w widoku kategorii były wyświetlane artykuły należące do wszystkich podkategorii do niej należących. Wiem o tym, że można ręcznie artykuł przypisać do wielu kategorii, tak żeby był wyświetlany w każdej z nich, ale jak wcześniej pisałem - ręczne zmienianie dziesiątek tysięcy zaimportowanych produktów mija się z celem. Z tego ci widzę, to właśnie metoda getProducts z Category.php jest odpowiedzialna za pobieranie listy produktów, ale w którym pliku jest ona wywoływana?
Pozdrawiam
Michał
-
funkcja get products umieszczona jest w pliku classes/Product.php również - taki przykład.....
stan magazynowy pobiera się z tabeli ps_stock_available
natomiast ostatnia sprawa czyli produkty z podrzędnych kategorii bez przerabiania niczego da się pokazać modułem bloocklayered - blok filtrów nawigacyjnych
ale jeśli importujesz to w czym problem podać po przecinku dla produktu podkategorie?
-
W tym filtrze jest ustawione na tak i nic nie wyświetla. Importuję z automatu przez Store Managera, tam sam mi dopasowuje kategorię. Dodawanie podkategorii po przecinku dla wymaga przejrzenia każdego artykuły a jak pisałem codziennie są importowane i aktualizowane tysiące artykułów.
-
no to piszesz do autorów store managiera ..... jak sam dopasowuje przeciez musisz zrobić powiązania
-
A gdzie znajdę plik który jest odpowiedzialny za wyświetlenie listy produktów w kategorii? Nie chodzi mi o pliki z klasami tylko plik odpowiedzialny za wyświetlenie gotowej strony, gdzie są tworzone obiekty kategorii i produktów.
-
przepraszam nie rozumiem pytania przecież to projektowanie obiektowe
-
Masz na myśli plik product-list.tpl?
-
Ok już sobie poradziłem, ale mam pewien problem ze składnią, mianowicie taki oto fragment kodu:
$sql = 'SELECT `id_category` FROM `'._DB_PREFIX_.'category` WHERE `id_parent`='.$id;
$childs = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
//print_r($childs);
foreach($childs as $row)
{
$value .= $row['id_category'].', ';
}
echo $value;
Powoduje, że $value dubluje kategorie, czyli jeśli z bazy wyciągnę dwa ID 1 i 2 to $value będzie miało wartość 1, 2, 1, 2, ale co ciekawe, jeśli usunę komentarz z print_r, to będzie normalnie, czyli 1, 2,
Jak dla mnie to niezły mind****, nie wiem co tutaj ma wywołanie print_r do tego ile razy przeleci pętla, ale widać ma :/
-
print_r masz przed foreach
dublowanie może powodować podwójny id języka etc