2016-10-21 58 views

回答

0

要通过REST API在Magento 2创建捆绑的产品,我们将遵循一些步骤来看看下面:

STEP 1首先,让我们写的配置(网址,用户名,密码)

//配置数据

$url="http://www.example.com/index.php/"; 
$token_url=$url."rest/V1/integration/admin/token"; 
$product_url=$url. "rest/V1/products"; 
$username="your admin username"; 
$password="your admin password"; 

$product_links = array(
         array("sku"=>"cpu1","qty"=>1) 
        ); 

步骤2:那就让我们获得访问令牌

//验证休息API magento2,获得访问令牌

$ch = curl_init(); 
$data = array("username" => $username, "password" => $password); 
$data_string = json_encode($data); 

$ch = curl_init($token_url); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json', 
    'Content-Length: ' . strlen($data_string)) 
    ); 
$token = curl_exec($ch); 
$adminToken= json_decode($token); 

步骤3:没有让我们准备的产品数据

//创建一个可配置的产品

$configProductData = array(

     'sku'    => 'bundle'. uniqid(), 
     'name'    => 'Bundle' . uniqid(), 
     'visibility'  => 4, /*'catalog',*/ 
     'type_id'   => 'bundle', 
     'price'    => 99.95, 
     'status'   => 1, 
     'attribute_set_id' => 4, 
     'weight'   => 1, 
     'custom_attributes' => array(
       array('attribute_code' => 'category_ids', 'value' => ["42","41","32"]), 
       array('attribute_code' => 'description', 'value' => 'Description'), 
       array('attribute_code' => 'short_description', 'value' => 'Short Description'), 
       array('attribute_code' => 'price_view', 'value' => '0'), 
       array('attribute_code' => 'price_type', 'value' => '0'), 
     ), 
     'extension_attributes' => array("bundle_product_options"=>array(
      array("title"=>"CPU","type"=>"select","product_links"=>$product_links), 
     ), 
     ) 
); 
$productData = json_encode(array('product' => $configProductData)); 

STEP 4-最后,我们会将产品数据发送给magento以创建产品

$setHaders = array('Content-Type:application/json','Authorization:Bearer '.$adminToken); 

$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL, $product_url); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $productData); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $setHaders); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 
curl_close($ch); 
var_dump($response); 
相关问题