2017-09-13 18 views
0

次のコードは注文を正常に作成します。 IDが「3889」のアイテムには、「7」、「8」、「9」の3つのサイズがあります。 しかし、注文に追加されたこの商品には、サイズ "7"が渡されていません。 結果サイズが指定されていません。 Bigcommerceからのエラーはありません。Bigcommerce APIオプションを使用してPHPを作成する

pic how it looks in admin panel

質問:どのように順番に製品のサイズを渡すには?

<?php 
require 'C:\wamp64\www\bigcommerceDemo\vendor\autoload.php'; 
require 'C:\wamp64\www\bigcommerceDemo\bg_api_connection\scripting.php'; 

use Bigcommerce\Api\Client as Bigcommerce; 
Bigcommerce::verifyPeer(false); 

$first_name = "example"; 
$last_name = "example"; 
$company = ""; 
$street_1 = "example"; 
$street_2 = ""; 
$city = "example"; 
$state = "example"; 
$zip = "example"; 
$country = "United States"; 
$country_iso2 = ""; 
$phone = "example"; 
$email = "example"; 

$object = array(
    "customer_id" => "12610", 
    "status_id" => "7", 
    "date_created" => "Mon, 11 Sep 2017 19:26:23 +0000", 
     "billing_address" => array(
     "first_name" => $first_name, 
     "last_name" => $last_name, 
     "company" => $company, 
     "street_1" => $street_1, 
     "street_2" => $street_2, 
     "city" => $city, 
     "state" => $state, 
     "zip" => $zip, 
     "country" => $country, 
     "phone" => $phone, 
     "email" => $email), 
     "products" => array(
      0 => array(
       "product_id" => 3889, 
       "quantity" => 1, 
       "product_options" => array(
       0 => array(
        "id" => 1267, 
        "value" => 7 
       ) 
      ) 
      ), 
      1 => array(
       "product_id" => 15805, 
       "quantity" => 1, 
      ) 
     ) 
    ); 
+0

は、あなたが正しい 'IDを持っているあなたは確かにあります'製品オプションの価値? – ProEvilz

+0

@ProEvilzそれは私がそれをした方法です:私は、管理パネルを使用して、注文にID「3889」のアイテムを手動で追加しました。次に、私はこの注文から製品オプション情報を要求します。 [ID] => 7178 [option_id] => 1240 [order_product_id] => 9939 [product_option_id] => 1267 [DISPLAY_NAME] =>サイズ [DISPLAY_VALUE] =>シルバー :そして、私はすべてのIDを持つ配列を得ました[値] => 7. 私は他のIDを試しました。 BGエラーが発生しました。 –

答えて

0

IDオプションの値が間違っていました。 そしてそれは、代わりにサイズ「シルバー」という単語7を与えていました。 [display_value] =>シルバーです。私が注文から得たこの情報。

次のコード製品オプション(オプションではない自体)とオプション(ない製品)のID取得:

$product_options_array = Bigcommerce::getProductOptions($product_id); 
$product_option_id_array = array_map(create_function('$id', 'return $id->id;'), $product_options_array); 
$product_option_id = implode(" ", $product_option_id_array);//in "product_options" => array it goes to "id" => 1267 

$product_one_option_values_array = Bigcommerce::getOption($product_option_id); 
$values_array = $product_one_option_values_array->values; 
$value_label_array = array_map(create_function('$value', 'return $value->value;'), $values_array); 
$value_id_array = array_map(create_function('$id', 'return $id->id;'), $values_array);//in "product_options" => array it goes to "value" => 4975 
関連する問題