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

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

Спасибо!
23 Июня 2014, 11:14:38
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22126
  • Репутация: +17110/-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
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество 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
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не совсем понятно, как редактировать classes/pdf/HTMLTemplateInvoice.php

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

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