Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[РЕШЕНО] Вывод SKU и ВЕСА в счёт и письмо уведомление о заказе


 Поделиться

Рекомендованные сообщения

В данный момент в админке можно просмотреть счёт на каждый заказ, но в нём указана МОДЕЛЬ, а мне нужен SKU и вес, и то же самое в письме что приходит когда человек делает заказ

Ссылка на комментарий
Поделиться на других сайтах

Здесь описана реализация показа СКУ в карточке товара!
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Я это сделал VQModулем product-display-settings, странице списке товаров...но вот как в счёт, заказ и письмо уведомление вставить SKU !!!

Ссылка на комментарий
Поделиться на других сайтах


Здесь описана реализация показа СКУ в карточке товара!
спасибо, то что надо.


Я это сделал VQModулем product-display-settings, странице списке товаров...но вот как в счёт, заказ и письмо уведомление вставить SKU !!!
Думаю, что аналогично, вставив в соответствующим файле код:
<?php if ($product['sku']) { ?><span><?php echo $text_sku; ?></span> <?php echo $product['sku']; ?><br /><?php } else { ?><?php } ?>

с ним слово "Артикул" не будет отображаться, если у товара его нет.

С письмами еще не разбирался, конкретней сказать не могу.

Просто до этого выводил "Модель" - было не сложно (просто вставив код в файл category.tpl), т.к. она уже прописана в "admin" и "catalog", а sku было прописано только в "admin". Сейчас sku прописали в "catalog"

Изменено пользователем AlexFisher
code
Ссылка на комментарий
Поделиться на других сайтах


спасибо, то что надо.

Думаю, что аналогично, вставив в соответствующим файле код:

<?php if ($product['sku']) { ?>

<span><?php echo $text_sku; ?></span> <?php echo $product['sku']; ?><br />

<?php } else { ?>

<?php } ?>

с ним слово "Артикул" не будет отображаться, если у товара его нет.

С письмами еще не разбирался, конкретней сказать не могу.

Просто до этого выводил "Модель" - было не сложно (просто вставив код в файл category.tpl), т.к. она уже прописана в "admin" и "catalog", а sku было прописано только в "admin". Сейчас sku прописали в "catalog"

что то у меня так не получилось
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

так как можно организовать:

1. требуется поправить ТЕМУ письма, что приходит АДМИНУ как уведомление о заказе. У меня она длинная типа "Магазин такой то таких то товаров - заказ 77", на складе часто приходится собирать заказ глядя в экран мобилы, а там такая длина не помещается нормально. Хотелось бы что бы Админу приходило просто в теме "Магазин - заказ 77", ведь админ и так в курсе что за магазин и по продаже каких товаров.

2. И ещё, можно ли добавить вывод ещё одного столбца - Масса? То есть что бы после столбца "Количество" стоял столбец "Масса" (где была бы суммарная масса по каждой позиции). А внизу, под "Итого" например, что бы суммарная масса по всем товарам выводилась

Уже готов поделиться деньгами...

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

Осталось вывести суммарный вес заказа в письмо уведомление о заказе...как это сделать???

Ссылка на комментарий
Поделиться на других сайтах

  • 2 года спустя...

Добрый вечер. Прочитал тему, так и не нашел решения этого вопроса. Ссылки битые, никто ничего конкретно так и не предложил. Хоть тема и 3-х летней давности, но актуальна и сейчас. Может предложит кто нибудь решение как вывести в письмо админу артикул? Спасибо.

Ссылка на комментарий
Поделиться на других сайтах


Добрый вечер. Прочитал тему, так и не нашел решения этого вопроса. Ссылки битые, никто ничего конкретно так и не предложил. Хоть тема и 3-х летней давности, но актуальна и сейчас. Может предложит кто нибудь решение как вывести в письмо админу артикул? Спасибо.

catalog/model/checkout/order.php

находим 

$template->data['products'] = array();

после нее вставляем 

$this->load->model('catalog/product');

находим ниже

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

Перед этой строкой вставляем код:

$product_data = array();
$product_data = $this->model_catalog_product->getProduct($product['product_id']);

После

$template->data['products'][] = array() 

добавляем нужное поле в массив:

'sku'    => $product_data['sku'],

для добавления поля в шаблон письма открываем файл 

catalog/view/theme/ваша_тема/template/mail/order.tpl

В нужном месте вставляем вывод нужного поля, например:

<?php echo $product['sku']; ?>

или вместо модели в письме 

    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"><?php echo $product['model']; ?></td>

выведем артикул

<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"><?php echo $product['sku']; ?></td>
Изменено пользователем AlexFisher
code
  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

а как в счет ску выводить? в теме не нашел и по форуму что-то же. Ткните носом, пожалуйста.

 

Или пост выше - это и про счет?

Изменено пользователем zdevl
Ссылка на комментарий
Поделиться на других сайтах


а как в счет ску выводить? в теме не нашел и по форуму что-то же. Ткните носом, пожалуйста.

 

Или пост выше - это и про счет?

В /admin/controller/sale/order.php

заменить 
$this->data['column_model'] = $this->language->get('column_model');
$this->data['column_quantity'] = $this->language->get('column_quantity');

на

$this->data['column_model'] = $this->language->get('column_model');
$this->data['column_sku'] = $this->language->get('column_sku');$this->data['column_quantity'] = $this->language->get('column_quantity');

заменить

'name'           => $product['name'],
'model'          => $product['model'],

на

'name'           => $product['name'],
'sku'            => $product['sku'],
'model'          => $product['model'],

в файле /admin/language/russian/sale/order.php добавить

$_['column_sku'] = 'Код товара';

в файле /admin/model/sale/order.php функция getOrderProducts изменить

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

на

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

далее в /admin/view/template/sale/order_invoice.tpl добавить по аналогии

<td><b><?php echo $column_sku; ?></b></td>

и

<td><?php echo $product['sku']; ?></td>

также можно вывести sku и в /admin/view/template/sale/order_info.tpl

Изменено пользователем cassi
  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


также можно вывести sku и в /admin/view/template/sale/order_info.tpl

 

 

Я прошу прошу прощения за мой тупизм, но за что отвечает этот файл.

 

Со счетом все получилось, большое Вам спасибо. 

Ссылка на комментарий
Поделиться на других сайтах


 

В /admin/controller/sale/order.php

заменить 
$this->data['column_model'] = $this->language->get('column_model');
$this->data['column_quantity'] = $this->language->get('column_quantity');

на

$this->data['column_model'] = $this->language->get('column_model');
$this->data['column_sku'] = $this->language->get('column_sku');$this->data['column_quantity'] = $this->language->get('column_quantity');

заменить

'name'           => $product['name'],
'model'          => $product['model'],

на

'name'           => $product['name'],
'sku'            => $product['sku'],
'model'          => $product['model'],

в файле /admin/language/russian/sale/order.php добавить

$_['column_sku'] = 'Код товара';

в файле /admin/model/sale/order.php функция getOrderProducts изменить

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

на

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

далее в /admin/view/template/sale/order_invoice.tpl добавить по аналогии

<td><b><?php echo $column_sku; ?></b></td>

и

<td><?php echo $product['sku']; ?></td>

также можно вывести sku и в /admin/view/template/sale/order_info.tpl

 

Спасибо огромное!!!! 2 дня бодался с SKU с историей заказа на сайте у покупателя пока не нарвался на этот топик. Заодно теперь знаю как SKU в админ панели добавлять. Еще раз спасибо.

Ссылка на комментарий
Поделиться на других сайтах


Добавлю правда еще немного. После подстановки sku в историю заказа покупателя в личном кабинете на сайте, если указываете ссылку на товар в таблице в файле \catalog\view\theme\ваша_тема\template\accountorder_info.tpl

<a href="<?php echo $product['href']; ?>"><?php echo $product['sku']; ?></a>

, то эта ссылка не рабочая получается. Чтобы она работала, надо в файле контроллера \catalog\controller\account\order.php добавить в массиве, точнее после этой строки

$data['products'][] = array(

вот этот код

'href'      => $this->url->link('product/product', 'product_id=' . $product['product_id'])
Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

 

В /admin/controller/sale/order.php

заменить 
$this->data['column_model'] = $this->language->get('column_model');
$this->data['column_quantity'] = $this->language->get('column_quantity');

на

$this->data['column_model'] = $this->language->get('column_model');
$this->data['column_sku'] = $this->language->get('column_sku');$this->data['column_quantity'] = $this->language->get('column_quantity');

заменить

'name'           => $product['name'],
'model'          => $product['model'],

на

'name'           => $product['name'],
'sku'            => $product['sku'],
'model'          => $product['model'],

в файле /admin/language/russian/sale/order.php добавить

$_['column_sku'] = 'Код товара';

в файле /admin/model/sale/order.php функция getOrderProducts изменить

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

на

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

далее в /admin/view/template/sale/order_invoice.tpl добавить по аналогии

<td><b><?php echo $column_sku; ?></b></td>

и

<td><?php echo $product['sku']; ?></td>

также можно вывести sku и в /admin/view/template/sale/order_info.tpl

 

- Сделал по пунктам, у покупателя ок, а админу всё равно не выводится в уведомлении этот SKU, будь он неладен. Система 1.5.6.4 стоковая.

А что такое в запросе есть op.*,p.sku и op.product_id ?

Изменено пользователем slammed
Ссылка на комментарий
Поделиться на других сайтах


всё. победил. нужно было изначально от обратного плясать.

 

в файле catalog\model\checkout\order.php

в этом блоке

$text .= $language->get('text_new_products') . "\n";

foreach ($order_product_query->rows as $product) {
$text .= $product['quantity'] . 'x ' . $product['name'] . ' (' . $product['model'] . ') ' . html_entity_decode($this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') . "\n";

нужно добавить свой злосчастный $product['sku'] в склейку строки.

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Версия: 2.1.0.2

Подскажите, может кто сталкивался.
После добавлений "sku" появились такие проблемы.

Редактировать заказ невозможно.

При заходе на вкладку "заказы" выскакивает ошибка:

Notice: Undefined index: status in /www/system/storage/modification/admin/controller/sale/order.php on line 167
На 167 строчке:   'status'        => $result['status'],

 

Если нажать на слово "статус" в списке заказов, получается такое:

 

Notice: Error: Unknown column 'status' in 'order clause'
Error No: 1054
SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM oc_order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '1') AS order_status, o.shipping_code, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `oc_order` o WHERE o.order_status_id > '0' ORDER BY status ASC LIMIT 0,20 in www/system/library/db/mysqli.php on line41 
Notice: Trying to get property of non-object in www/admin/model/sale/order.php on line 231
Warning: Invalid argument supplied for foreach() in www/system/storage/modification/admin/controller/sale/order.php on line 163

 

 

www/system/library/db/mysqli.php on line41  - 

trigger_error('Error: ' . $this->link->error  . '<br />Error No: ' . $this->link->errno . '<br />' . $sql);

 

 

 

www/admin/model/sale/order.php on line 231 - 

 

return $query->rows;

 

www/system/storage/modification/admin/controller/sale/order.php on line 163

foreach ($results as $result) {
Изменено пользователем endaries
Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.