Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[How-To] Картинки товара в заказе и инвойсе


Recommended Posts

Нужно отображать картинку товара в заказе и в инвойсе.

В принципе, есть несколько буржуйских модулей (Product Images In Admin Order Info Page и Product Images & Logo on Invoice), но решил сделать сам. Работает в ocstore 1531.

 

В

admin\model\sale\order.php

 

Код:

$query = $this->db->query("SELECT * FROM ". DB_PREFIX ."order_product WHERE order_id = '".(int)$order_id ."'");

Меняем на:

$query = $this->db->query("SELECT op.*, p.image FROM " . DB_PREFIX . "order_product op LEFT JOIN " . DB_PREFIX . "product p ON (op.product_id=p.product_id) WHERE op.order_id = '" . (int)$order_id . "'");

В admin\controller\sale\order.php

 

добавляем в public function info и public function invoice

'image'      => $product['image'],

 

примерно с 1663 строки:

$this->data['products'][] = array(
'image'      => $product['image'],

и с 2490 строки:

$product_data[] = array(
'image'      => $product['image'],

Далее, в

 

admin\view\template\sale\order_info.tpl

 

и

 

admin\view\template\sale\order_invoice.tpl

 

Добавляем в таблицы столбец и картинку:

<img src="/image/<?php echo $product['image']; ?>"/>

Вопрос вот в чём, помогите подключить встроенный обработчик картинок, чтобы картинки выводились без «костылей» вида <img src="/image… и с нужными размерами, то есть через resize.

Надіслати
Поділитися на інших сайтах


перед

$this->data['products'][] = array(

добавь

$this->load->model('tool/image'); 

if ($product['image']) {
$image = $this->model_tool_image->resize($product['image'], 50, 50);
} else {
$image = false;
}

размеры можешь свои проставить

Надіслати
Поділитися на інших сайтах

Спасибо, разобрался.

 

Мне пока хватило. Если кому-нибудь интересно продолжить, то можете ещё вывести размеры картинок в настройки чтобы получать их через $this->config->get('config_..._width'), $this->config->get('config_..._height') и где-нибудь места для галочек "показывать картинку в заказе" ("показывать картинку в инвойсе") предусмотреть и готовый модуль получится.

 

В итоге картинки у меня выводятся так:

<img src="<?php echo $product['thumb']; ?>"  />

А в admin\controller\sale\order.php

 

добавляем вместо 'image'      => $product['image'],

'thumb'    => $image,
Змінено користувачем userOCF
  • +1 1
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.