2017-09-07 19 views
10

私はPrestaShopに大きな問題があります。モバイルアプリケーションにサービスを提供するために自分で作成したAPIを使用しています。Prestashop 1.6(プログラムで)の特定のショップのカートに商品を追加する

これで、最初のショッピングカートに数量を追加、削除、更新することができます。 私のオンラインショップのようなカテゴリやサブカテゴリに移動することもできます。

しかし、私は2つのショップを持っており、マルチショップモードで特定の商品を2番目のショップに追加したいと思います。スクリプトは常に最初のショッピングカートに追加されます。

これはカートに入れるための行です。

最初の店舗ID = 1
2号店= 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

どのようにして$ cartを作成または取得しますか? – sadlyblue

+0

$ context = Context :: getContext(); \t \t場合(!$、コンテキスト> cart->のid){ \t \t $、コンテキスト> cart->追加(TRUE、FALSE、TRUE、_PS_SHOP_SELECTED_ID)。 \t \t $ context-> cookie-> id_cart = $ context-> cart-> id; $ cart = new cart($ context-> cart-> id); $ cart-> id_customer =(int)UserApi :: getIdAuthUser(); $ cart-> id_lang = _PS_APP_MOBILE_LANG_ID; $ cart-> id_currency =(int)Context :: getContext() - > currency-> id; $ cart-> id_carrier = 1; $ cart-> recyclable = 0; $ cart-> gift = 0; \t} \t $ cart = new cart($ context-> cart-> id); –

+0

投稿を編集してコードを追加してください。 – idnovate

答えて

3

私は最終的文脈で店を変更するための最良かつ適切な方法を発見しました。 私はコードから多くの検索を行い、最初のショップの割り当てはconfig.inc.phpにありますが、スチールはShopクラスの値を取得することがわかりました。だから、コンテキストオーバーライドで店を変更する

:PrestaShopのショップクラスの

Shop::initialize();

あなたの欲求ショップを設定するには!

関連する問題