Автор Тема: Фото товара в счете (PDF) или в деталях заказа (PS 1.6)  (Прочитано 1281 раз)

23 Июнь 2014, 00:38:13
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброй ночи! Очень много решений видел для 1.4, 1.5, но вот под 1.6 не одно из них не работает. Пробовал сделать своими силами, но изображение товара не выводится, либо выводится картинка, которая явно дает понять, что фото не найдено. Может кто подскажет идеи для реализации? Нужно отображение фото товара в счете или в деталях заказа.

Спасибо!
23 Июнь 2014, 11:14:38
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Подходит решение для prestashop 1.5.
В prestashop 1.6 не изменись классы и щаблоны pdf и заказа.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
23 Июнь 2014, 20:10:00
Ответ #2
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У Вас примера нету? Буду очень благодарен!
24 Июнь 2014, 09:25:58
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
/pdf/invoice.tpl
<!-- PRODUCTS -->
{foreach $order_details as $order_detail}
        {cycle values='#FFF,#DDD' assign=bgcolor}
        <tr style="line-height:6px;background-color:{$bgcolor};">
        <td style="text-align: left; width: 15%"><img src="{$order_detail.myimg}"></td>
/classes/pdf/HTMTemplateInvoice.php
public function getContent()
{
    $prod_dtl_id = $this->order->getProducts();
    foreach($prod_dtl_id as &$product){
if ($product['image'] != null)
{
    $name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
    $product['image_tag'] = ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$product['image']->getExistingImgPath().'.jpg', $name, 50, 'jpg');
    if (file_exists(_PS_TMP_IMG_DIR_.$name))
$product['image_size'] = getimagesize(_PS_TMP_IMG_DIR_.$name);
    else
$product['image_size'] = false;
}
$product['myimg'] = _PS_TMP_IMG_DIR_.$name;
}
26 Июнь 2014, 01:15:43
Ответ #4
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
К сожалению, этот способ не работает. Либо я что-то делаю не так.
29 Июль 2014, 11:45:08
Ответ #5
  • Фрилансер
  • *
  • Сообщений: 105
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не совсем понятно, как редактировать classes/pdf/HTMLTemplateInvoice.php

Этот код надо добавить, или заменить что-то?
29 Июль 2014, 12:13:57
Ответ #6
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Заменить. Этот код уже есть, кроме вставки изображения
$product['image_tag']
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
05 Август 2014, 12:28:08
Ответ #7
  • Фрилансер
  • *
  • Сообщений: 105
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все равно не могу разобраться.
Не работает, или что-то делаю не так.

Добавляю код в /classes/pdf/HTMTemplateInvoice.php и счета вообще не формируются.
05 Август 2014, 12:57:25
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Значит код неправльно вставляете. Смотрите лог ошибок сервера, в нем найдете описание ошибки.