Prestashop получить изображение продукта по умолчанию из названия продукта?

Prestashop получить изображение продукта по умолчанию из названия продукта?

11.03.2014 04:35:49 Просмотров 42 Источник

В Prestashop я хочу знать, по какому шаблону prestashop показывает изображение продукта по умолчанию? Я имею в виду, допустим, у меня есть запрос mysql для prestashop, как это

SELECT ps_product.id_product,ps_product.id_category_default,description_short,ps_product_lang.name FROM ps_product_lang,ps_product WHERE ps_product_lang.id_lang=1 AND ps_product.id_product=ps_product_lang.id_product

Теперь здесь я получу идентификатор продукта, категорию продукта, описание и имя. Теперь в соответствии с продуктами prestashop по умолчанию и базой данных у меня есть для продукта iPod Nano поля базы данных похожи

id_product  id_category_default
  1               3       

Теперь, если я хочу получить изображение продукта, я буду использовать

img/p/id_product/id_category_default/id_product.id_category_default

Это позволит сделать ИМГ СРЦ нравится

img/p/1/3/13.jpg

Теперь, когда я использовал это, я получил изображение для Belkin Leather Folio для iPod

но с тем же условием я получил точное изображение для ipod shuffle. Так может кто-нибудь любезно сказать мне, как получить точное изображение по умолчанию для названия продукта? Любая помощь и предложения будут действительно заметны.

У вопроса есть решение - Посмотреть?

Ответы - Prestashop получить изображение продукта по умолчанию из названия продукта? / Prestashop get the product default image from the product name?

Является ответом!
yenshirak

12.03.2014 01:10:31

Этот запрос можно использовать для получения идентификатора изображения обложки (изображения, отображаемого в представлении категории) для продукта:

SELECT id_image FROM ps_image WHERE cover = 1 AND id_product = $idProduct

Затем вы можете создать путь к изображению с помощью следующего кода:

$imgPath = 'img/p/';
for ($i = 0; $i < strlen($idImage); $i++) {
  $imgPath .= $idImage[$i] . '/';
}
$imgPath .= $idImage . '.jpg';

Если вы хотите получить идентификатор изображения эскиза по умолчанию, отображаемого в представлении продукта, вы можете использовать этот запрос:

SELECT id_image FROM ps_image WHERE position = 1 AND id_product = $idProduct
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33956702_22336696
спасибо за ответ. Но можете ли вы сказать мне, какой будет точный путь для изображения. Как потому, что тег img показывает изображение из src. поэтому, чтобы показать изображение, нам нужен наш путь изображения, как это <img src="img/p/1/5/15.jpg" alt="" />для идентификатора продукта 1. Теперь, согласно вашему ответу, я получаю имя изображения 15.JPG и это хорошо, но как получить путь к изображению? Без пути к изображению как я могу использовать это имя изображения? Согласно вашему ответу путь изображения будет <img src="img/p/15.jpg">так что теперь вы можете сказать мне, как получить 1 и 5, потому что правильный путь изображения для product_id 1 является <img src="img/p/1/5/15.jpg">
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33970035_22336696
Путь к изображению формируется из цифр идентификатора изображения. Для 6 это будет img/p/6 / 6.формат jpg. Для 16 это будет img/p/1/6/16.формат JPG, для 123 это будет /ИМГ/П/1/2/3/123.формат jpg. Проверьте PHP-код в моем ответе.
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33970818_22336696
в вашем ответе вы использовали for ($i = 0; $i < strlen($idImage); $i++) { $imgPath .= $idImage[$i] . '/'; } Так вы можете сказать мне, как получить переменную $idImage?
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33971533_22336696
$idImage является результатом этого запроса: SELECT id_image FROM ps_image WHERE cover = 1 AND id_product = $idProduct
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33971971_22336696
ладно..Я понял, но как вы видите, я уже запрос выше я написал SELECT ps_product.id_product,ps_product.id_category_default,descrip‌​tion_short,ps_produc‌​t_lang.name FROM ps_product_lang,ps_product WHERE ps_product_lang.id_lang=1 AND ps_product.id_product=ps_product_lang.id_product я использовал этот один для получения ID товара,название, описание. Итак, можете ли вы сказать мне, как объединить ваш запрос с этим, чтобы я одновременно получил идентификатор продукта, название продукта, desc, идентификатор категории, идентификатор изображения?
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33972625_22336696
SELECT ps_product.id_product,ps_product.id_category_default,descrip‌​tion_short,name,id_i‌​mage FROM ps_product_lang,ps_product,ps_image WHERE ps_product_lang.id_lang=1 AND ps_product.id_product=ps_product_lang.id_product AND ps_product.id_product=ps_image.id_product AND cover=1
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33972741_22336696
Нет, что один показывает #1054 - Unknown column 'id_i‌​mage' in 'field list'
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33973222_22336696
Работает для меня, но попробовать это, то: SELECT p.id_product, p.id_category_default, l.description_short, l.name, i.id_image FROM ps_product AS p LEFT JOIN ps_product_lang AS l ON p.id_product = l.id_product LEFT JOIN ps_image AS i ON p.id_product = i.id_product WHERE l.id_lang = 1 AND i.cover = 1
https://stackoverflow.com/questions/22325947/prestashop-get-the-product-default-image-from-the-product-name/22336696#comment33975073_22336696
Спасибо миллион, что сработало наконец...
Закрыть X