使用模块中的以下代码创建产品并将上传的图像分配给它。在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();
}
}
?>
答案 0 :(得分:1)
如果图像被正确复制,您应该尝试(!AdminImportController::copyImg($id_product, $image->id, $url, 'products', true))
重新生成微缩模型