以编程方式创建产品时,不会上传 Prestashop 产品图片
Prestashop product image is not uploaded when product is created programmatically
在模块中使用下面的代码创建产品并将上传的图片分配给它。在 localhost
上一切正常,但是当我将模块移动到服务器时出现问题。服务器上的模块成功创建产品。但是当我打开后端创建的产品图像部分时,我得到以下带有问号的图像(代码下方的屏幕截图)。当我进入 ftp 到 img 目录 (/img/p/3/7/37.jpg
) 时,没有 img 目录或 img 本身。所以看起来创建 img 目录有问题。有没有人遇到过这样的问题,可以转发我在哪里搜索问题?
<?php
//Create product
$product = new Product();
$product->ean13 = 12456;
$product->name = array((int)Configuration::get('PS_LANG_DEFAULT') => 'test');
$product->link_rewrite = array((int)Configuration::get('PS_LANG_DEFAULT') => 'test');
$product->id_category = 3;
$product->id_category_default = 3;
$product->redirect_type = '404';
$product->price = 33;
$product->wholesale_price = 25;
$product->minimal_quantity = 1;
$product->show_price = 1;
$product->on_sale = 0;
$product->online_only = 1;
$product->meta_keywords = 'test';
$product->id_tax_rules_group = 0;
$product->add();
$product->addToCategories(array(3));
StockAvailable::setQuantity($product->id,'',10);
//Add main product image
$id_product = $product->id;
$url = 'http://www.webadress.com/image/product/color/0959.jpg';
$shops = Shop::getShops(true, null, true);
$image = new Image();
$image->id_product = $id_product;
$image->position = Image::getHighestPosition($id_product) + 1;
$image->cover = true; // or false;
if (($image->validateFields(false, true)) === true &&
($image->validateFieldsLang(false, true)) === true && $image->add())
{
$image->associateTo($shops);
if (!AdminImportController::copyImg($id_product, $image->id, $url, 'products', false))
{
$image->delete();
}
}
?>
如果图像复制正确,您应该尝试(!AdminImportController::copyImg($id_product, $image->id, $url, 'products', true))
重新生成微缩模型
在模块中使用下面的代码创建产品并将上传的图片分配给它。在 localhost
上一切正常,但是当我将模块移动到服务器时出现问题。服务器上的模块成功创建产品。但是当我打开后端创建的产品图像部分时,我得到以下带有问号的图像(代码下方的屏幕截图)。当我进入 ftp 到 img 目录 (/img/p/3/7/37.jpg
) 时,没有 img 目录或 img 本身。所以看起来创建 img 目录有问题。有没有人遇到过这样的问题,可以转发我在哪里搜索问题?
<?php
//Create product
$product = new Product();
$product->ean13 = 12456;
$product->name = array((int)Configuration::get('PS_LANG_DEFAULT') => 'test');
$product->link_rewrite = array((int)Configuration::get('PS_LANG_DEFAULT') => 'test');
$product->id_category = 3;
$product->id_category_default = 3;
$product->redirect_type = '404';
$product->price = 33;
$product->wholesale_price = 25;
$product->minimal_quantity = 1;
$product->show_price = 1;
$product->on_sale = 0;
$product->online_only = 1;
$product->meta_keywords = 'test';
$product->id_tax_rules_group = 0;
$product->add();
$product->addToCategories(array(3));
StockAvailable::setQuantity($product->id,'',10);
//Add main product image
$id_product = $product->id;
$url = 'http://www.webadress.com/image/product/color/0959.jpg';
$shops = Shop::getShops(true, null, true);
$image = new Image();
$image->id_product = $id_product;
$image->position = Image::getHighestPosition($id_product) + 1;
$image->cover = true; // or false;
if (($image->validateFields(false, true)) === true &&
($image->validateFieldsLang(false, true)) === true && $image->add())
{
$image->associateTo($shops);
if (!AdminImportController::copyImg($id_product, $image->id, $url, 'products', false))
{
$image->delete();
}
}
?>
如果图像复制正确,您应该尝试(!AdminImportController::copyImg($id_product, $image->id, $url, 'products', true))
重新生成微缩模型