2017-09-07 12 views
10

PrestaShop ile ilgili büyük bir sorunum var, bir mobil uygulamaya hizmet vermek için kendim tarafından oluşturulmuş bir API kullanıyorum.Ürünü Prestashop 1.6'da belirli bir mağazada sepete ekleyin (programatik olarak)

Artık, ilk alışveriş sepetine miktar ekleyebilir, silebilir ve güncelleyebilirim. Ayrıca, çevrimiçi mağazam gibi kategorilere ve alt kategorilere de gidebilirim.

Ancak iki dükkanım var ve ikinci mağazaya çoklu mağaza modunda belirli bir ürün eklemek istiyorum ve komut dosyası her zaman ilk alışveriş sepetine eklenir.

Bu benim sepete eklemek için benim hattım.

ilk mağaza id = 1
ikinci mağazası = 4

$_shop = new Shop(_PS_SHOP_SELECTED_ID); //_PS_SHOP_SELECTED_ID = 4 
$isAdded = $cart->updateQty((int)$product->quantity, (int)$producToAdd->id, $id_product_attribute, FALSE, 'up', 0,$_shop); 
+0

$ Sepeti nasıl yaratıyor veya alıyorsunuz? – sadlyblue

+0

$ context = Bağlam :: getContext(); \t \t if (! $ Context-> cart-> id) { \t \t $ context-> cart-> add (TRUE, FALSE, TRUE, _PS_SHOP_SELECTED_ID); \t \t $ context-> cookie-> id_cart = $ context-> cart-> id; $ cart = new Sepet ($ context-> cart-> id); $ cart-> id_customer = (int) UserApi :: getIdAuthUser(); $ cart-> id_lang = _PS_APP_MOBILE_LANG_ID; $ cart-> id_currency = (int) Bağlam :: getContext() -> currency-> id; $ cart-> id_carrier = 1; $ cart-> recyclable = 0; $ cart-> gift = 0; \t} \t $ cart = new Sepet ($ context-> cart-> id); –

+0

Lütfen yazınızı düzenleyebilir ve daha fazla kod ekleyebilir misiniz? – idnovate

cevap

3

Sonunda bağlamda dükkanı değiştirmek için en iyi ve uygun bir yolunu buldu. Koddan birçok arama yapıyorum ve ilk mağaza atamasının config.inc.php içinde olduğunu öğrendim, ancak çelik Shop sınıfından değer elde ettim.

Yani bağlam geçersiz kılma dükkanı değiştirmek için:

Shop::initialize(); Prestashop Dükkanı sınıfından

da arzu dükkanı ayarlamak için!

İlgili konular