php – 如何使用webservice将产品添加到prestashop和xml文件中

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何使用webservice将产品添加到prestashop和xml文件中脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个由库存管理软件生成XMl文件,我想将它插入PRetashop数据库.任何人都可以帮我这个xML文件

<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Products>
<Reference>1101test</Reference>
<Valid_internet_product>1</Valid_internet_product>
<Products_name>universal</Products_name>
<Price>69.95</Price>
<Active_product>1</Active_product>
<supplierNo>08</supplierNo>
<Weight>5</Weight>
<Description>Koncentreret universalmiddel med salmiak</Description>
<Short_Description>Koncentreret universalmiddel med salmiak</Short_Description>
<;minOrderQty>1</MinOrderQty>
<Categories>
<Category>
<CategoryID>63</CategoryID>
<CategoryName>Bins\Universal</CategoryName>
<Active_category>1</Active_category>
<Changed>0</Changed>
</Category>
</Categories>
<Tax_Class_ID>1</Tax_Class_ID>
<Discount>
<Discount_PErcentage>percentage</Discount_percentage>
<discountprice_ex_vat>0</discountprice_ex_vat>
<Discountprice_include_vat>0</Discountprice_include_vat>
<Pct_reductionPercent>0</Pct_ReductionPercent>
</Discount>
</Products>
</Document>

解决方法

使用PrestaShop,您可以使用以下选项之一轻松导入数据:

>通过在后台使用“CSV导入”功能(假设您还有.csv导出而不是此XML文件)
>使用PrestaShop Web服务(需要定制开发)
>使用现有的类(需要自定义开发)

下面是一个使用XML字符串的快速代码段.
它将创建或更新所有产品,并考虑其价格,可用性,名称,描述,重量等.

请注意:

>此代码不适用于组合(颜色,大小等)
>此代码不会为您创建类别,而是将所有产品添加到“主页”类别

这只是一个帮助你的例子;)

<?PHP

include(dirname(__FILE__).'/config/config.inc.PHP');
include(dirname(__FILE__).'/inIT.PHP');

$xml_string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Products>
<Reference>1101TEST</Reference>
<Valid_internet_product>1</Valid_internet_product>
<Products_name>universal</Products_name>
<Price>69.95</Price>
<Active_product>1</Active_product>
<supplierNo>08</supplierNo>
<Weight>5</Weight>
<Description>Koncentreret universalmiddel med salmiak</Description>
<Short_Description>Koncentreret universalmiddel med salmiak</Short_Description>
<MinOrderQty>1</MinOrderQty>
<Categories>
<Category>
<CategoryID>63</CategoryID>
<CategoryName>Bins\Universal</CategoryName>
<Active_category>1</Active_category>
<Changed>0</Changed>
</Category>
</Categories>
<Tax_Class_ID>1</Tax_Class_ID>
<Discount>
<Discount_percentage>percentage</Discount_percentage>
<discountprice_ex_vat>0</discountprice_ex_vat>
<Discountprice_include_vat>0</Discountprice_include_vat>
<Pct_ReductionPercent>0</Pct_ReductionPercent>
</Discount>
</Products>
</Document>
XML;

$xml = simplexml_load_string($xml_string);
foreach ($xml->Products as $product_xml)
{
    if ($product_xml->Valid_internet_product == 1)
    {
        /* Update an existing product or Create a new one */
        $id_product = (int)Db::getInstance()->getValue('SELECT id_product From '._DB_PREFIX_.'product WHERE reference = \''.psql($product_xml->Reference).'\'');
        $product = $id_product ? new Product((int)$id_product,true) : new Product();
        $product->reference = $product_xml->Reference;
        $product->price = (float)$product_xml->Price;
        $product->active = (int)$product_xml->Active_product;
        $product->weight = (float)$product_xml->Weight;
        $product->minimal_quantity = (int)$product_xml->MinOrderQty;
        $product->id_category_default = 2;
        $product->name[1] = utf8_encode($product_xml->Products_name);
        $product->description[1] = utf8_encode($product_xml->Description);
        $product->description_short[1] = utf8_encode($product_xml->Short_Description);
        $product->link_rewrite[1] = Tools::link_rewrite($product_xml->Products_name);
        if (!isset($product->date_add) || empty($product->date_add))
            $product->date_add = date('Y-m-d H:i:s');
        $product->date_upd = date('Y-m-d H:i:s');
        $id_product ? $product->updateCategories(array(2)) : $product->addToCategories(array(2));
        $product->save();

        echo 'Product <b>'.$product->name[1].'</b> '.($id_product ? 'updated' : 'created').'<br />';
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何使用webservice将产品添加到prestashop和xml文件中全部内容,希望文章能够帮你解决php – 如何使用webservice将产品添加到prestashop和xml文件中所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。