как получить содержимое корзины второго магазина в prestashop

#php #prestashop #prestashop-1.7 #prestashop-modules

Вопрос:

У меня в моем Prestashop включен мультимагазин, я хотел бы получить доступ к корзине второго магазина в первом магазине. Как я могу этого достичь?

Я могу получить содержимое корзины в текущем магазине, используя приведенный ниже код:

 $this-gt;context-gt;cart  

но как получить доступ к корзине второго магазина, которого нет в текущем контексте

Ответ №1:

Я думаю, что это невозможно с классами / методами Prestashop, поскольку объект контекста связан с текущим магазином.

Разве использование встроенных общих тележек между одной и той же группой магазинов не является шансом ? Я знаю, что он глючит, но он должен работать, пока два магазина находятся в одном домене.

В противном случае, я думаю, вы можете выполнить запрос к БД непосредственно в таблице ps_cart_product (возможно, соединенной с ps_cart для извлечения идентификатора клиента), поскольку она содержит строку id_shop.

Ответ №2:

Это не лучший подход .. В другом магазине могут быть совершенно другие товары, поэтому корзина также не может быть действительной.

Но если вы знаете идентификатор корзины и идентификатор магазина, вы можете выполнить запрос к БД

 $query = new DbQuery();  $query-gt;select('*');  $query-gt;from('cart');  $query-gt;where("id_cart= {$cartID}");  $query-gt;where("id_shop= {$shopID}");  $result = Db::getInstance()-gt;executeS($query);