Jak pobrać produkty z bazy w module PrestaShop?
Jak pobrać produkty z bazy w module PrestaShop?
Piszę moduł który ma wyświetlić produkty z określonej kategorii posortowane po dostępności. Jak poprawnie pobrać produkty? ObjectModel, SQL bezpośrednio, czy jeszcze inaczej?
Re: Jak pobrać produkty z bazy w module PrestaShop?
Najczystsza metoda to użycie klasy Product i jej statycznych metod:
Product::getProducts($id_lang, $start, $limit, $order_by, $order_way)
Ale jeśli potrzebujesz sortowania po quantity, musisz napisać własne zapytanie SQL.
Product::getProducts($id_lang, $start, $limit, $order_by, $order_way)
Ale jeśli potrzebujesz sortowania po quantity, musisz napisać własne zapytanie SQL.
Lepszy sklep działający niż idealny w planach.
Re: Jak pobrać produkty z bazy w module PrestaShop?
Dla prostych zapytań SQL:
$sql = new DbQuery();
$sql->select('p.*, sa.quantity');
$sql->from('product', 'p');
$sql->leftJoin('stock_available', 'sa', 'p.id_product = sa.id_product');
$sql->where('p.id_category_default = '.(int)$id_category);
$sql->orderBy('sa.quantity DESC');
$results = Db::getInstance()->executeS($sql);
$sql = new DbQuery();
$sql->select('p.*, sa.quantity');
$sql->from('product', 'p');
$sql->leftJoin('stock_available', 'sa', 'p.id_product = sa.id_product');
$sql->where('p.id_category_default = '.(int)$id_category);
$sql->orderBy('sa.quantity DESC');
$results = Db::getInstance()->executeS($sql);
Re: Jak pobrać produkty z bazy w module PrestaShop?
W PS 8+ możesz też użyć Doctrine EntityManager jeśli wolisz ORM. Ale klasyczny SQL/DbQuery jest nadal popularniejszy w modułach.
Dobry UX to najlepsza strategia marketingowa.
Re: Jak pobrać produkty z bazy w module PrestaShop?
Pamiętaj o id_lang przy pobieraniu nazw/opisów - dane językowe są w tabelach _lang (np. ps_product_lang).
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości