2016-12-02 1 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

작동 코드가 발견되었습니다. 웹 서비스를 사용하지 않습니다.

$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를 반환합니다.