2017-09-07 5 views
10

J'ai un gros problème avec PrestaShop, j'utilise une API créée par moi-même pour fournir un service à une application mobile.Ajouter produit au panier dans un magasin spécifique dans Prestashop 1.6 (par programmation)

Maintenant, je peux ajouter, supprimer, mettre à jour la quantité au premier panier. Je peux aussi naviguer vers des catégories et des sous-catégories comme ma boutique en ligne.

Mais j'ai deux boutiques et j'aimerais ajouter un produit spécifique en mode multishop au deuxième magasin, et le script ajoute toujours au premier panier.

Ceci est ma ligne à ajouter au panier.

premier id = 1 magasin
deuxième magasin = 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

Comment créez-vous ou obtenez-vous le $ panier? – sadlyblue

+0

$ context = Contexte :: getContext(); \t \t if (! $ Context-> Cart-> id) { \t \t $ context-> Cart-> ajouter (VRAI, FAUX, VRAI, _PS_SHOP_SELECTED_ID); \t \t $ contexte-> cookie-> id_cart = $ contexte-> cart-> id; $ cart = new Panier ($ context-> cart-> id); $ cart-> id_customer = (int) UserApi :: getIdAuthUser(); $ cart-> id_lang = _PS_APP_MOBILE_LANG_ID; $ cart-> id_currency = (int) Contexte :: getContext() -> devise-> id; $ cart-> id_carrier = 1; $ cart-> recyclable = 0; $ cart-> cadeau = 0; \t} \t $ cart = new Panier ($ context-> cart-> id); –

+0

Pourriez-vous, s'il-vous-plaît, modifier votre message et ajouter un autre code? – idnovate

Répondre

3

J'ai finalement trouvé le meilleur et une bonne façon de changer la boutique en contexte. Je fais beaucoup de recherches à partir du code et j'ai trouvé que la première affectation de la boutique est dans config.inc.php mais l'acier obtient la valeur de la classe Shop.

Donc, pour changer la boutique en remplacement de contexte:

Shop::initialize(); dans Prestashop Boutique classe

pour définir votre magasin de désir!