Polskie wsparcie PrestaShop

PrestaShop => Php, Java, Flash => Wątek zaczęty przez: mechu w Czerwiec 29, 2016, 10:25:36 am

Tytuł: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana 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ł
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: west w Czerwiec 29, 2016, 11:32:05 pm
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?


Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: mechu w Czerwiec 30, 2016, 01:08:58 pm
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.
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: west w Czerwiec 30, 2016, 06:29:06 pm
no to piszesz do autorów store managiera ..... jak sam dopasowuje przeciez musisz zrobić powiązania
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: mechu w Czerwiec 30, 2016, 10:38:06 pm
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.
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: west w Lipiec 01, 2016, 06:51:16 am
przepraszam nie rozumiem pytania przecież to projektowanie obiektowe
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: endriu107 w Lipiec 01, 2016, 02:22:04 pm
Masz na myśli plik product-list.tpl?
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: mechu w Lipiec 02, 2016, 09:46:01 pm
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 :/
Tytuł: Odp: Nie wyświetlanie zerowych stanów magazynowych oraz produkty z podkategori
Wiadomość wysłana przez: west w Lipiec 03, 2016, 10:03:10 am
print_r masz przed foreach
dublowanie może powodować podwójny id języka etc