如何在prestashop中进行程序化产品导入时添加图像?

时间:2015-02-11 05:21:36

标签: php prestashop prestashop-1.5

我无法在插入产品时找到有关添加图像的正确文档。这是我的xml产品导入脚本的工作代码。我不知道如何在添加产品时添加产品图像。

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 = utf8_encode($product_xml->Products_name);
        $product->description = utf8_encode($product_xml->Description);
        $product->description_short = utf8_encode($product_xml->Short_Description);
        $product->link_rewrite = Tools::link_rewrite($product_xml->Products_name);
        $product->image_url = 'http://i.imgur.com/jLThaBj.jpg';
        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.'</b> '.($id_product ? 'updated' : 'created').'<br />';
    }
} 

4 个答案:

答案 0 :(得分:6)

使用以下方法实现:

AdminImportControllerCore::copyImg()

您可以复制/粘贴它,也可以根据需要进行更改。

答案 1 :(得分:0)

您从哪里购买$ xml-&gt;产品?你不是在使用Web服务吗?

产品图片是另一个像产品一样的对象,首先您应该创建一个新的图像,然后将此图像ID添加到产品中。

答案 2 :(得分:0)

使用 {| a with __ = () |} 函数确实是最好的,尽管您可能无法调用该函数,因为它是 AdminImportControllerCore::copyImg()

你可以让它protected,但这有点“肮脏”的做法。我更愿意看到人们使用这段代码

public

答案 3 :(得分:-1)

你可以像我一样在这里看到。查看代码开始添加新图像的第209行。

https://github.com/xabikip/PrestaShopWebService/blob/master/examples/createProduct.php