У меня есть 2 магазина prestashop, размещенных в одном и том же ftp, с теми же продуктами, в одном из которых есть все загруженные изображения (более 9k), а у другого нет ни одного, я хочу знать, с какого контроллера и функции он загружает изображения.
Я знаю, что изображения хранятся внутри / img / p {цифры с косой чертой} /product_id.jpg, поэтому единственное, что мне не хватает, – это место, где изображения загружаются в переднюю часть, поэтому я могу изменить эту функцию и сделать ее точкой на фотографии другого магазина, чтобы избежать загрузки каждой фотографии во втором магазине.
У меня есть знание php, поэтому я ищу способ «жесткого кодирования» этой функции. Зная, что это не правильный способ ее работы, я ищу разработать сценарий, который позволяет мне это делать.
Маршруты изображений продукта не связаны с product id
, но связаны с image id
. Например: id_image = 35 route должно быть /img/p/3/5/35.jpg
Вы можете найти связь между изображением и продуктом в таблице ps_image
в БД.
classes/Link.php
изображений динамически формируются в функции Link::getImageLink
расположенной в classes/Link.php
. Если вы хотите сделать некоторые изменения, это лучшее место для этого.
Удача удачи
перейдите на свой веб-сайт Vaii и на странице продуктов вы найдете кнопку «Экспорт».
В csv есть в первых двух столбцах id и url-изображение.
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'));