Урок 5 Добавляем SKU в письмо админу и покупателю

В стандартной сборке письмо о заказе как покупателю, так и админу, не особо информативно. Хотя кому как. Нередко появляется необходимость вывести дополнительную информацию. Итак, сегодня мы добавим вывод SKU в письмо админу и покупателю.
Прежде всего идем в
1 |
catalog/controller/account/order.php |
находим:
1 |
$data['column_model'] = $this->language->get('column_model'); |
и сразу после добавляем:
1 |
$data['column_sku'] = $this->language->get('column_sku'); |
Дальше находим
1 |
'model' => $product['model'], |
и после добавляем
1 |
'sku' => $product['sku'], |
и сохраняем изменения.
Дальше необходимо внести изменения в языковой файл, а именно добавить название новой колонки. Переходим в
1 |
/catalog/language/ru-ru(либо russian)/account/order.php |
и сразу после
1 |
$_['column_model'] = 'Модель'; |
Добавляем
1 |
$_['column_sku'] = 'Артикул'; |
Теперь редактируем темплейт письма по адресу:
1 |
/catalog/view/theme/default(либо папка вашей темы)/template/mail/order.tpl |
Здесь нам необходимо внести два изменения, а именно:
После
1 |
<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: left; padding: 7px; color: #222222;"><?php echo $text_model; ?></td> |
добавляем
1 |
<td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: left; padding: 7px; color: #222222;"><?php echo $text_sku; ?></td> |
а после
1 |
<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> |
добавляем
1 |
<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> |
Заливаем все изменения на хостинг, обновляем модификаторы и радуемся результату. Для самых ленивых выложу ocmod модификатор.
Сделал всё в точности по инструкции, только вместо sku прописал везде upc , в итоге получаю ошибки в письмах:
Notice: Undefined variable: text_upc in /www/site.ru/catalog/view/theme/default/template/mail/order.tpl on line 76
Notice: Undefined index: upc in /www/site.ru/catalog/view/theme/default/template/mail/order.tpl on line 91
Здравстуйте.
Значит что то сделали не так. Прежде всего не объявили текстовую переменную text_upc. Какая версия опенкарта?
catalog/controller/account/order.php по данному адресу $data[‘column_model’] = $this->language->get(‘column_model’);
нету сейчас
Здравствуйте. Данное решение для линейки 2.х
Потрите потом моё это сообщение, вот тут coderistu . ru/2019/09/25/%d0%ba%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b2%d0%b5%d1%81%d1%82%d0%b8-%d0%b0%d1%80%d1%82%d0%b8%d0%ba%d1%83%d0%bb-sku-%d0%b2-%d0%bf%d0%b8%d1%81%d1%8c%d0%bc%d0%b5-%d0%b7%d0%b0%d0%ba%d0%b0%d0%b7%d0%b0-opencart/ норм есть решение для 3 версии, но там бы было неплохо подкоретировать место положение «Итого:»
На самом деле вариантов реализации много. Все зависит от того, что необходимо получить на выходе. Вот тут был один из вариантов изменения письма админу https://oc-new.com/uroki-po-opencart/menjaem-shablon-pisma-adminu-na-opencart-3.html
Я именно начал у вас с этого урока, потом искал способ добавить ещё одну колонку данных, нашёл тот пример и вместе совместим ваш второй метод с ссылки и добавление sku (в моем случае локацию) получил результат (у вас кстати очень универсальный код в примере из статьи по ссылке) Спасибо вам)