2016-12-02 201 views
1

我創建了一個小腳本來將產品添加到prestashop商店。 現在我面臨一個問題 - 試圖將組合添加到產品中。 這是我的代碼現在的樣子。 後,我在這裏補充該產品是我真的做什麼,$ PRODUCT_ID是我的新創建的產品Prestashop添加產品組合

$xml = $webService->get(array('url' => SITE_URL.'/api/combinations?schema=blank')); 
$combinations = $xml->children()->children(); 
$combinations->id_product = $product_id; 

$combinations->minimal_quantity = 1; 
$combinations->reference = 'dada'; 
$combinations->price = 99; 
$combinations->default_on = 1; 
$combinations->associations->product_option_values->product_option_value->id = 1; 
$opt = array('resource' => 'products'); 
$opt['postXml'] = $xml->asXML(); 

,這是來自服務器的響應..

<?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<combination> 
<id></id> 
<id_product></id_product> 
<location></location> 
<ean13></ean13> 
<upc></upc> 
<quantity></quantity> 
<reference></reference> 
<supplier_reference></supplier_reference> 
<wholesale_price></wholesale_price> 
<price></price> 
<ecotax></ecotax> 
<weight></weight> 
<unit_price_impact></unit_price_impact> 
<minimal_quantity></minimal_quantity> 
<default_on></default_on> 
<available_date></available_date> 
<associations> 
<product_option_values> 
<product_option_value> 
<id></id> 
</product_option_value> 
</product_option_values> 
<images> 
<image> 
<id></id> 
</image> 
</images> 
</associations> 
</combination> 
</prestashop> 
+0

你能解釋一下這個問題嗎?你能給我們發送錯誤信息嗎? –

+0

沒有錯誤消息。 – nikksan

回答

0

我發現了一個工作代碼,它沒有使用web服務。

$product = new Product($product_id); 
$combinationAttributes = array(); 
$combinationAttributes[] = $combination_id; 
$idProductAttribute = $product->addProductAttribute(
       (float)1, //price 
       (float)1, //weight 
       1,  //unit_impact 
       null , //ecotax 
       (int)1, //quantity 
       "",  //id_images 
       "" , //reference 
       strval(""), //suppliers 
       strval(""), //ean13 
       NULL, //default 
       NULL, //location 
       NULL //upc 
       ); 
       $product->addAttributeCombinaison($idProductAttribute,      $combinationAttributes); 
+0

'addAttributeCombinaison()'自1.5.0.7開始被棄用。我認爲現在正確的方法是'addCombinationEntity()'。 – LostMyGlasses

0

嘗試使用下面的代碼增加產品組合:

$product = new Product($id_product); 

$id_product_attribute = $product->addCombinationEntity(
           Tools::getValue('attribute_wholesale_price'), 
           Tools::getValue('attribute_price') * Tools::getValue('attribute_price_impact'), 
           Tools::getValue('attribute_weight') * Tools::getValue('attribute_weight_impact'), 
           Tools::getValue('attribute_unity') * Tools::getValue('attribute_unit_impact'), 
           Tools::getValue('attribute_ecotax'), 
           0, 
           Tools::getValue('id_image_attr'), 
           Tools::getValue('attribute_reference'), 
           null, 
           Tools::getValue('attribute_ean13'), 
           Tools::getValue('attribute_default'), 
           Tools::getValue('attribute_location'), 
           Tools::getValue('attribute_upc'), 
           Tools::getValue('attribute_minimal_quantity'), 
           array(), 
           Tools::getValue('available_date_attribute') 
          ); 

有關詳細信息,您可以檢查addCombinationEntity的定義(在Product.php類文件)的功能。

上述函數返回一個生成的combination_id。

相關問題