2016-03-11 3 views
2

Я пытался изменить продукт, хотя WebService и это работает хорошо, пока я не установлен «is_virtual = 1»PrestaShop вебсервис установить виртуальный продукт

меня пытаются установить как «is_virtual = 1» и «тип = ' виртуальный»

Это мой код передается Prestashop:

string(4160) "<?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<product> 
<id>128</id> 
<id_manufacturer>0</id_manufacturer> 
<id_supplier>0</id_supplier> 
<id_category_default xlink:href="http://fasys.it/lab/prestashop/api/categories/5">5</id_category_default> 
<new/> 
<cache_default_attribute>0</cache_default_attribute> 

<id_default_combination notFilterable="true"/> 
<id_tax_rules_group xlink:href="http://fasys.it/lab/prestashop/api/tax_rule_groups/1">1</id_tax_rules_group> 
<position_in_category notFilterable="true">0</position_in_category> 


<type notFilterable="true">virtual</type> 
<id_shop_default>1</id_shop_default> 
<reference>TEST</reference> 
<supplier_reference/> 
<location/> 
<width>8</width> 
<height>9</height> 
<depth>0</depth> 
<weight>10</weight> 
<quantity_discount>0</quantity_discount> 
<ean13/> 
<upc/> 
<cache_is_pack>0</cache_is_pack> 
<cache_has_attachments>0</cache_has_attachments> 
<is_virtual>1</is_virtual> 
<on_sale>0</on_sale> 
<online_only></online_only> 
<ecotax>0.000000</ecotax> 
<minimal_quantity>0</minimal_quantity> 
<price>0</price> 
<wholesale_price>0</wholesale_price> 
<unity/> 
<unit_price_ratio>0.000000</unit_price_ratio> 
<additional_shipping_cost>0.00</additional_shipping_cost> 
<customizable>0</customizable> 
<text_fields>0</text_fields> 
<uploadable_files>0</uploadable_files> 
<active>1</active> 
<redirect_type/> 
<id_product_redirected>0</id_product_redirected> 
<available_for_order>1</available_for_order> 
<available_date>0000-00-00</available_date> 
<condition>new</condition> 
<show_price>1</show_price> 
<indexed>1</indexed> 
<visibility>both</visibility> 
<advanced_stock_management>0</advanced_stock_management> 
<date_add>2016-03-11 12:47:42</date_add> 
<date_upd>2016-03-11 15:09:04</date_upd> 
<pack_stock_type>0</pack_stock_type> 
<meta_description><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1"></language></meta_description> 
<meta_keywords><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1"></language></meta_keywords> 
<meta_title><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1"></language></meta_title> 
<link_rewrite><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1">lol1</language></link_rewrite> 
<name><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1">lol1</language></name> 
<description><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1">xaxa</language></description> 
<description_short><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1">11111</language></description_short> 
<available_now><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1"></language></available_now> 
<available_later><language id="1" xlink:href="http://fasys.it/lab/prestashop/api/languages/1"></language></available_later> 
<associations> 
<categories nodeType="category" api="categories"> 
<category xlink:href="http://fasys.it/lab/prestashop/api/categories/5"> 
<id>5</id> 
</category> 
</categories> 
<images nodeType="image" api="images"/> 
<combinations nodeType="combination" api="combinations"/> 
<product_option_values nodeType="product_option_value" api="product_option_values"/> 
<product_features nodeType="product_feature" api="product_features"> 
<product_feature xlink:href="http://fasys.it/lab/prestashop/api/product_features/0"> 
<id>0</id> 
<id_feature_value xlink:href="http://fasys.it/lab/prestashop/api/product_feature_values/0">0</id_feature_value> 
</product_feature> 
</product_features> 
<tags nodeType="tag" api="tags"> 
<tag xlink:href="http://fasys.it/lab/prestashop/api/tags/0"> 
<id>0</id> 
</tag> 
</tags> 
<stock_availables nodeType="stock_available" api="stock_availables"> 
<stock_available xlink:href="http://fasys.it/lab/prestashop/api/stock_availables/209"> 
<id>209</id> 
<id_product_attribute>0</id_product_attribute> 
</stock_available> 
</stock_availables> 
<accessories nodeType="product" api="products"/> 
<product_bundle nodeType="product" api="products"/> 
</associations> 
<id_tax>1</id_tax></product> 
</prestashop> 
" 

И ответ:

array(3) { 
    ["status_code"] => int(500) 
    ["response"] => string(258) "<?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<errors> 
<error> 
<code><![CDATA[85]]></code> 
<message><![CDATA[Error occurred while setting the product_bundle value]]></message> 
</error> 
</errors> 
</prestashop> 
+0

Вы пытались удалить строку '' в вашем xml? –

ответ

1

Ответ Флориана правильный: попробуйте снять product_bundle. Обратите внимание, product_bundle INSIDE associations. У меня была такая же проблема.

//PHP 
$xml = $this->get(array('url' => $this->url . '/api/products/' . $ProductId)); 
$resources = $xml->children()->children(); 

unset($resources->associations->product_bundle); 
1

Ошибка довольно явная, вам нужно удалить значение product_bundle из вашего XML. Для класса product_bundle не установлен сеттер.

Смежные вопросы