我有2个prestashop商店托管在相同的ftp中,相同的产品其中一个已加载所有图像(超过9k)而另一个没有,我想知道prestashop加载图像的控制器和功能。
我知道图像存储在/ img / p {带斜线的数字} /product_id.jpg中,所以我唯一缺少的是图像在前端加载的地方,所以我可以改变这个功能,使其指向其他商店的照片,以避免在第二家商店上传每张照片的工作。
我有PHP知识所以我正在寻找一种“硬编码”这种功能的方法。 知道它不是正确的工作方式我正在寻找开发一个允许我这样做的脚本。
答案 0 :(得分:1)
产品的图片路线与product id
无关,但与image id
有关。例如:id_image = 35 route应为/img/p/3/5/35.jpg
您可以在DB中的ps_image
表中找到图像和产品之间的关系。
图片链接是在位于Link::getImageLink
的{{1}}函数中动态形成的。如果你想做一些修改,这是最好的去处。
Gook luck
答案 1 :(得分:1)
转到后端Vaii,在产品页面中,您会找到“导出”按钮。
在csv中,前两列是id和url image。
include(dirname(__FILE__).'/../../config/config.inc.php');
//Customize it so you have <product id> and <your ur photo>
$image = new Image();
$image->id_product = (int) <product id>;
$image->position = Image::getHighestPosition($product->id) + 1;
$image->cover = true;
$image->add();
$photo_url = <your ur photo>;
copyImg($id, $image->id, $photo_url, 'products', !Tools::getValue('regenerate'));