Ruslan Brest, rb.labtodo.com
Backend web-developer: CodeIgniter, PHP, MySQL, OpenCart, PrestaShop, MaxSite CMS

Opencart 1.5.x: удобный вид email-уведомлений админу о заказе

Просмотров: 53449 RSS 89
Howto » OpenCart
, ,

Формируемое в Опенкарт v1.5.x письмо-уведомление для администрации магазина о новом заказе выглядит криво-косо и неудобно для обработки поступивших заказов: не хватает информации о покупателе, а та информация, что есть, сложна для восприятия.

Можно сделать удобнее.

Формирование и отсылка писем происходит в файле catalog/model/checkout/order.php

Тексты частей писем находятся в папке catalog/language/russian/mail -- из содержащихся там фраз формируются письма.

commit 132d70db7615ff44fa658459db298af0e5ff62e3
Author: Ruslan Brest <rb@labtodo.com>
Date:   Fri Feb 24 11:54:40 2012 +0200
    [+] better admin alert email on new order
diff --git a/upload/catalog/language/russian/mail/order.php b/upload/catalog/language/russian/mail/order.php
index f42838d..8bb86a5 100644
--- a/upload/catalog/language/russian/mail/order.php
+++ b/upload/catalog/language/russian/mail/order.php
@@ -2,7 +2,7 @@
 // Text
 $_['text_new_subject']          = '%s - заказ %s';
 $_['text_new_greeting']         = 'Благодарим за интерес к товарам %s. Ваш заказ получен и поступит в обработку после подтверждения оплаты.';
-$_['text_new_received']         = 'Вы получили заказ.';
+$_['text_new_received']         = 'Вы получили заказ';
 $_['text_new_link']          	= 'Для просмотра Вашего заказа перейдите по ссылке:';
 $_['text_new_order_detail']     = 'Детализация заказа';
 $_['text_new_instruction']      = 'Инструкции';
diff --git a/upload/catalog/model/checkout/order.php b/upload/catalog/model/checkout/order.php
index 6a187c2..360ea4d 100644
--- a/upload/catalog/model/checkout/order.php
+++ b/upload/catalog/model/checkout/order.php
@@ -440,14 +440,24 @@ class ModelCheckoutOrder extends Model {
 				$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id);
 
 				// Text
-				$text  = $language->get('text_new_received') . "\n\n";
-				$text .= $language->get('text_new_order_id') . ' ' . $order_id . "\n";
-				$text .= $language->get('text_new_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n";
-				$text .= $language->get('text_new_order_status') . ' ' . $order_status . "\n\n";
+				$text  = $language->get('text_new_received') . ' #'.$order_id . ' ('.date($language->get('date_format_short'), strtotime($order_info['date_added'])).')' . "\n";
+				// $text .= $language->get('text_new_order_id') . ' ' . $order_id . "\n";
+				// $text .= $language->get('text_new_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n";
+				$text .= $language->get('text_new_order_status') . ' ' . strip_tags($order_status) . "\n\n";
+
+				if( !empty($order_info['payment_method']) ) $text .= 'payment method: ' . $order_info['payment_method'] . "\n";
+				// $text .= 'shipping method: ' . $order_info['shipping_method'] . "\n";
+				if( !empty($order_info['email']) )     $text .= 'email: ' . $order_info['email'] . "\n";
+				if( !empty($order_info['telephone']) ) $text .= 'telephone: ' . $order_info['telephone'] . ", ";
+				$text .= 'IP: http://geoiptool.com/en/?IP=' . $order_info['ip'] . "\n\n";
+
 				$text .= $language->get('text_new_products') . "\n";
 
 				foreach ($order_product_query->rows as $result) {
-					$text .= $result['quantity'] . 'x ' . $result['name'] . ' (' . $result['model'] . ') ' . html_entity_decode($this->currency->format($result['total'], $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') . "\n";
+					$text .= '  ';
+					$text .= html_entity_decode($this->currency->format($result['total'], $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8');
+					$text .= ' = ';
+					$text .= $result['quantity'] . ' x ' . $result['name'] . ' (' . $result['model'] . ")\n";
 
 					$order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . $result['order_product_id'] . "'");
 
@@ -457,10 +467,10 @@ class ModelCheckoutOrder extends Model {
 				}
 
 				$text .= "\n";
-
 				$text .= $language->get('text_new_order_total') . "\n";
 
 				foreach ($order_total_query->rows as $result) {
+					$text .= '  ';
 					$text .= $result['title'] . ' ' . html_entity_decode($result['text'], ENT_NOQUOTES, 'UTF-8') . "\n";
 				}

oc1513-admin-email-neworder.diff 135

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru digg.com friendfeed.com liveinternet.ru livejournal.ru yandex.ru del.icio.us
Комментариев: 89
  1. А подскажите пожалуйста как настроить так, чтоб админ магазина получал на почту такое же письмо с полным описанием заказа как и клиент?

  2. 2012-03-02 в 05:34:17 | Ruslan Brest

    Для этого надо в файле catalog/model/checkout/order.php найти строку с текстом "// Send to additional alert email", и парой строк выше будет:

    $mail->setText($text);

    Замените её на $mail->setHtml($html);

    У меня это находится в строке номер 500 (v1.5.1.3 с изменениями).

  3. подскажите пожалуйста, а как вообще отключить. (ну что бы клиенту, сделавшему заказ, НЕ приходило письмо) ??

  4. 2012-03-05 в 08:35:23 | Ruslan Brest

    В файле catalog/model/checkout/order.php найдите

    $mail->send();

    Там 2-3 таких места. Сначала отсылается письмо покупателю, затем владельцу магазина (на основной адрес), и потом в цикле - всем доп. адресам. Вот первую отправку и закомментируйте, поставив в начале строки две косых черты (//)

  5. А можно как-нибудь изменить номер заказа глобально? Чтобы текущий заказ был не 14( к примеру), а 100014?

    ----

    Наберите "номер заказа" в строке поиска на http://opencartforum.ru/ - не раз обсуждалось.

  6. 2012-03-19 в 02:55:11 | Максим

    Подскажите пожалуйста, а как добавить в почтовое уведомление админу значение Артикула(sku)?

    ----

    В уведомлении информация берется из заказа, записанного в БД, а опенкарт туда не сохраняет информацию об SKU товара на момент покупки. Поэтому либо менять запрос и доставать текущий SKU по ID товара, либо менять запись информации о заказе (включить туда ещё одно поле), чтобы потом проще её извлекать и отображать (если SKU у вас основной идентификатор, то скорее всего он нужен во многих местах в админке). Оба эти варианта я не могу так на пальцах в комментариях объяснить - на это надо время и тестирование, а с этим у меня сейчас сложно.

  7. здравствуйте!Большущее спасибо за ваши статьи!!! Они очень помогают)))

    Вопрос... куда и что нужно вставить, чтобы и админ и покупатель в письмах видели артикул sku

  8. !В уведомлении информация берется из заказа, записанного в БД, а опенкарт туда не сохраняет информацию об SKU товара на момент покупки."

    доброго времени суток!

    в админке sku есть... так же он выводится после поступление товара в разделе ЗАКАЗЫ (о товаре)

    поиск я тоже по sku сделала...

    все по вашим статьям...СПАСИБО ОГРОМНОЕ!!

    пыталась и в почту админу добавить..но не получилось(((

  9. Добрый день!

    Подскажите, пожалуйста, как в письме о полученном заказе для администратора добавить комментарий к заказу? Поставила специальный модуль, который выводит в письме все необходимые данные, но там отсутствует поле с комментарием.

  10. 2012-03-27 в 05:13:04 | Ruslan Brest

    По умолчанию в письме администратору есть комментарии из заказа, ничего добавлять не надо. Возможно, это проблема поставленного модуля. Если его можно выключить - попробуйте сформировать заказ с комментарием без него и посмотреть на стандартное письмо админу.

  11. Здравствуйте!

    Подскажите, в письме админу отсутствует напрочь комментарий к заказу, причем в админке в инфе о заказе он есть. Проделал все изменения, которые Вы посоветовали в посте - комментария нет, причем его и не было с начала установки движка.

    Может кто сталкивался, подскажите, где может быть проблема?

  12. 2012-03-31 в 21:03:40 | Ruslan Brest

    Возможно, вы админу отсылаете письмо, предназначенное пользователю (в HTML формате). Там действительно в письмо не включаются комментарии.

    В оригинальном Опенкарт в письме админу комментарии есть, ничего для их появления делать не требуется.

  13. 2012-03-31 в 21:56:13 | Аноним

    Да, действительно, я по Вашему совету выше:

    $mail->setText($text);

    Заменил на $mail->setHtml($html);

    теперь хоть адекватные письма приходят на почту админу, но нет комментария. Вернул тип письма как было, коментарий приходит.

    Может подскажите, как сделать, чтобы установить вид письма админу в HTML, но в то же время чтобы и комментарий приходил?

  14. 2012-03-31 в 22:24:08 | Ruslan Brest

    Меняйте шаблон HTML-письма. Известно ведь уже всё - в каком файле письма формируются, где и как рассылаются. Там совсем небольших усилий стоит разобраться и изменить - всё письмо постепенно собирается в переменную $html. Так что достаточно добавить комментарий в удобном месте.

    У меня сейчас нет времени этим заняться. Если сложно самостоятельно найти это место - спросите на форуме, там десятки людей могут подсказать более конкретно, что куда. У кого времени чуть больше - идут на форум и по мере возможности помогают там друг другу.

  15. Здравствуйте!

    Подскажите пожалуйста, не приходят письма администратору о новых заказах, после смены email в настройках. Если указываю email, который указывался при установке, то все работает, а при смене нихт...

    ocstore_v1.5.1.3

  16. 2012-04-30 в 02:09:35 | Ruslan Brest

    Опенкарту всё равно, что там. Если на один уходит, а на другой нет - значит он отправляет. А ошибка где-то дальше по цепочке. Проверяйте, нет лил проблем с этим адресом у почтового демона. Может у хостера какие-то ограничения, может в системном почтовом ящике полно сообщений о неудачной доставке. Ну или в логах Опенкарта что-то есть, если всё-таки на его стороне ошибка возникает.

    Ещё могут быть проблемой пробелы в начале-конце адреса. Опенкарт не везде эту ситуацию обрабатывает. Но это больше касается доп. адресов для email-уведомлений.

  17. 2012-05-02 в 16:38:17 | Волагри

    Доброго времени суток!

    У меня все приходит - и адреса и номер и комментарии. Но приходит все это в идиотски расцвеченной таблице, которую долго обрабатывать (убирать интервал между ячейками, и т.д.). Видимо где-то это отображение регулируется стилями? Подскажите путь пожалуйста, и заодно - возможно ли сделать так, чтобы заказ приходил в виде простой черно-белой таблицы, пригодной для работы в экселе (ну или опен-оффисе)?

  18. 2012-05-02 в 18:37:29 | Ruslan Brest

    Я вообще не очень понимаю, о чём речь. В оригинале админу отправляется текстовое письмо, а покупателю - в HTML, с табличкой и чуть большим кол-вом информации. У вас, видимо, админу отправляется копия пользовательского письма.

    Открывать письмо в экселе? Мне даже в голову такое не приходило, не пробовал. А зачем? Печатать? Обрабатывать? Зачем?

    Если надо всё время это делать, может быть проще админу в каком-то более нормальном для этой задачи виде письмо формировать? В CSV например, как самый простой вариант. Чтобы ничего лишнего и ненужного не было.

  19. Просмотрел кучу стилей и так не нашел путь, где же стиль присваивает вид приходящего админу заказа. Пути-пути...

  20. 2012-05-02 в 18:49:31 | Ruslan Brest

    catalog/view/theme/default/template/mail/order.tpl

    Или в используемой теме. Если там нет такого файла - используется этот.

  21. Не открывать в экселе, а легко туда помещать табличку. Это нужно для обработки. Чтобы можно было в экселе формулы применять и быстро обрабатывать в соответствии со складскими остатками.

  22. 2012-05-02 в 18:54:29 | Ruslan Brest

    Ну вот я и говорю - если это регулярная задача для, скажем так, робота, то зачем админу отсылать какой-то HTML, предназначенный для глаз? Можно отсылать текст или заготовку для CSV - возможно, её даже не придётся в файл промежуточный вставлять, а через буфер обмена спокойно вставится в эксель.

  23. в catalog\view\theme\default\template\mail у меня только order_confirm.tpl т.е. подтверждение. Смотрю его и вижу знакомые раздражающие цвета ))) сейчас поправлю, расскажу результат.

  24. 2012-05-02 в 18:58:18 | Ruslan Brest

    У меня там 2 файла - order.tpl и voucher.tpl. Как в v1513, так и v1521

    Аа-а-а, это в 1.4.x такое. Понял. Ну, собственно, должно быть аналогично.

  25. Прежде всего хочу поблагодарить за быструю реакцию и неформальный подход. И если можно - в двух словах про модуль CSV - самостоятельно поднимать тему проблематично по времени, но по реферативному изложению, думаю смогу разобраться, ведь не раз уже "клал" и поднимал движок своего магаза )))

  26. 2012-05-02 в 21:05:58 | Ruslan Brest

    Да нет никакого модуля, это на уровне идеи. Письмо о заказе - это по сути информация о покупателе и товаре. Письмо можно и нужно формировать в том виде, какой вам удобен, а где именно оно формируется - указано (catalog/model/checkout/order.php).

    В 1.4.x, видимо, всем изначально шлется HTML-версия письма. Текстовое формируется так же, как именно это делается - можно подсмотреть в 1.5.1.3 и перенести к себе.

    Ну или остановиться на том, чтобы TPL шаблон изменить. Или продублировать и слать покупателям оригинал, а себе (админу) - с другими цветами, отступами и т.п.

  27. TPL меняю, получается, спасибо за путь!

  28. Столкнулся со следующей проблемой: не приходят уведомления админу.А клиент получает, подскажите в чем может проблема?

    ocStore Version 1.5.1.3

  29. Добрый день, а как добавить поле адреса в письмо к админу

  30. 2012-05-13 в 00:41:15 | Ruslan Brest

    Данные о заказе доступны через массив $order_info['...']. Вместо троеточия можно использовать одно из значений:

    order_id, invoice_no, invoice_prefix;
    store_id,  store_name,  store_url;
    customer_id,  customer_group_id;
    firstname,  lastname,  email,  telephone,  fax;
    shipping_firstname,  shipping_lastname,  shipping_company,
      shipping_address_1,  shipping_address_2,  shipping_city,
      shipping_postcode,  shipping_country,  shipping_country_id,
      shipping_zone,  shipping_zone_id,  shipping_address_format,
      shipping_method;
    payment_firstname,  payment_lastname,  payment_company,
      payment_address_1,  payment_address_2,  payment_city,
      payment_postcode,  payment_country,  payment_country_id,
      payment_zone,  payment_zone_id,  payment_address_format,
      payment_method;
    comment,  total,  reward,  order_status_id,  affiliate_id,
      commission,  language_id,  currency_id,  currency_code,
      currency_value,  date_added,  date_modified,  ip

    Если и не все, то большая часть этих полей должна быть доступна.

  31. 2012-05-13 в 01:41:50 | Ruslan Brest
    Столкнулся со следующей проблемой: не приходят уведомления админу.А клиент получает, подскажите в чем может проблема?

    Скорее всего email покупателя убирали из числа обязательных.

    Ну или какие-то технические проблемы. Может в спам попадает, а может все ошибки указаны в логах сервера и системном почтовом ящике вашего домена.

  32. > Столкнулся со следующей проблемой: не приходят уведомления админу.А клиент получает, подскажите в чем может проблема?
    Скорее всего email покупателя убирали из числа обязательных.
    Ну или какие-то технические проблемы. Может в спам попадает, а может все ошибки указаны в логах сервера и системном почтовом ящике вашего домена

    В настройках почты стоял smtp, а не mail.

  33. 2012-06-03 в 23:01:31 | Сергей

    Может информация была, но не нашел. Два вопроса:

    1. Как изменить текст письма которое уходит клиенту, как подтверждение?

    2. Когда вводится адрес при заказе, клиент выбирает города на английском языке, как перевести названия городов на русский?

    Если есть кто может помочь, не бесплатно, отпишитесь....syv2012@rambler.ru

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

  35. 2012-07-28 в 15:15:03 | Ruslan Brest

    oae, Sales / Orders / Status = выбрать Missing orders / нажать кнопку Filter.

    Продажи / заказы / Брошенные заказы / фильтр

  36. Как добавить SKU заказанного товара, в письме, приходящем на почту админу?

    ----

    Пролистайте страницу вверх, почитайте комментарии. Или поиск на странице - Ctrl-F, SKU. Простого подготовленного варианта нет - эту информацию вам придется вытаскивать дополнительно или переделывать запись информации о заказе в БД.

  37. Еще никто не придумал как заставить opencart 1.5.3.1 в письме админу о новом заказе помимо прочей информации выводить SKU каждого заказанного товара?

  38. 2012-09-26 в 09:07:09 | Вячеслав

    Я вот так сделал:

    в catalog/model/checkout/order.php

    после

    $text .= chr(9) . '-' . $option['name'] . ' ' . utf8_truncate($option['value']) . "\n";
    }

    добавляем

    $order_sku_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$result['product_id'] . "'");
    foreach ($order_sku_query->rows as $sku) {
    $text .= '(' . $sku['sku'] . ') ' . html_entity_decode($this->currency->format($sku['cost'], $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') . "\n";
         }

    В итоге подстрокой выводится SKU в скобках и закупочная цена.

    Красоту под себя допилите.

  39. 2012-10-16 в 01:34:27 | Евгений

    Будь те добры.Подскажите как мне телефон покупателя добавить в письме об уведомлении нового заказа для админа?

  40. 2012-11-13 в 19:09:21 | Владимир

    Здравствуйте, а подскажите пожалуйста, как можно сделать тобы в письме было изображение товара и ссылка на него?

  41. Подскажите какие строчки и куда нужно добавить, чтобы отсылалась текстовая версия заказа на e-mail , но с полными данными о заказчике(как в html версии)?

  42. 2013-07-07 в 12:15:10 | Ruslan Brest

    Информация о том, где как формируется письмо, указана в статье. Готовый список всех доступных полей из $order_info -- в одном из комментариев (#30). Всё в ваших руках.

    Я не горю желанием тратить всё своё свободное время на то, чтобы сделать за вас вашу работу. Не хотите напрягаться с пониманием, что к чему - могу сделать за деньги.

  43. 2013-10-23 в 01:47:49 | Александр

    Здравствуйте, сстолкнулся с такой проблемой, когда в админке в товарах во вкладке данные ввожу в поле SKU артикул товара, по нажатию на кнопку сохранить ничего не сохраняется, поле остается пустым, в базе тоже это поле ничего не записывает. Подскажите как решить эту проблему

  44. 2013-10-23 в 04:26:16 | Ruslan Brest
    Подскажите как решить эту проблему

    Откатом вносившихся в код изенений, отключением вкумодов, сверкой с оригинальным кодом вашей версии, просмотром лог-файлов ошибок, трассировкой и отладкой. Телепатически и наугад такие проблемы не решаются.

  45. добрый день.

    на одной платформе имеется два магазина с разными доменами.

    как сделать так что бы письма с пдтверждениями заказов на разных магазинах были бы разными. сейчас они одинаковы, только названия магазинов в письмах правильно отображаются, а текст такой же.

    блогодарю.

  46. 2013-11-02 в 00:20:01 | Аноним

    Добрый день.

    Как можно изменить нумерацию заказов. Чтобы они начинались не 1,2,3 и т.д. 1001, 1002, 1003 хотя бы.

  47. 2013-11-02 в 05:29:41 | Ruslan Brest

    Воспользуйтесь гуглом.

    ALTER TABLE `order`  AUTO_INCREMENT =1001
  48. Добрый день, подскажите пожалуйста, буду очень благодарен, как изменить ссылку в тексте письма которое высылается клиенту при изменении статуса заказа. По дефолту ссылка в письме ведет сюда:

    /index.php?route=account/order/info&order_id=6427

    а хотелось бы изменить на сюда:

    /index.php?route=account/order

    Заранее благодарю за потраченное Ваше время.

  49. Руслан, доброго времени суток! Если не трудно, объясните - почему в поле E-Mail в Админке (Настройки-Общие) при вводе ел. адреса пишет: E-Mail адрес введен неверно!

    Я конкретного ответа по этому поводу нигде не нашел...

  50. Руслан, доброго времени суток! Если не трудно, объясните - почему в поле E-Mail в Админке OpenCart (Настройки-Общие) при вводе ел. адреса пишет: E-Mail адрес введен неверно! Сообщения о заказе соответственно на почту мне не приходят!

    Я конкретного ответа по этому поводу нигде не нашел...

    Буду благодарен за ответ.

  51. 2014-04-08 в 03:08:12 | Ruslan Brest

    Юрий, понятия не имею. У меня никогда таких проблем не возникало. Возможно, дело в том, что именно Вы туда вводите. Может дело в каких-то модификациях или в конкретно используемой сборке. Может дело в версии (хотя я и не слышал о подобных проблемах в какой-либо из версий).

  52. Я обратился на хостинг, мне там заменили файл движка отвечающий за проверку этих данных из более новой версии OpenCart... адрес прописался, но появилась другая непонятная "ругань"... я скрин отправлю на почту, а то здесь я не вижу возможности прикрепить его!

  53. На хостинге мне сказали, что они ничего сделать не могут - это проблемы конкретно движка сайта. Нужно переустановить OpenCart с официального сайта последнюю стабильную версию. У меня сейчас стоит Версия 1.5.5.1.1

  54. 2014-04-08 в 05:23:42 | Ruslan Brest

    Бездумная замена файлов на "из более новой версии OpenCart" чревата проблемами. Судя по номеру версии, у Вас ocStore. Обновлять её на официальный Opencart смысла мало. На ocStore 15512 - может и стоит, не следил, что там исправляли.

    Обратитесь лучше в раздел платных услуг на opencartforum.ru.

    Ну или в "общих вопросах" там вопрос задайте, может кто по скриншотам угадает ответ.

  55. Согласен!

    Кстати, если заменить версию, ту что у меня сейчас на 1.5.5.1.2 , все настройки и дизайн который есть сейчас - слетит?

  56. 2014-04-08 в 05:52:04 | Ruslan Brest

    Зависит от того, насколько сильно разнятся версии. Я не знаю. Тот, кто ближе знаком с этими версиями и их особенностями, быстрее подскажет, какие есть риски (и есть ли они вообще).

  57. Ок... спасибо!

  58. Добрый день, подскажите пожалуйста, буду очень благодарен, как изменить ссылку в тексте письма которое высылается клиенту при изменении статуса заказа. По дефолту ссылка в письме ведет сюда:

    /index.php?route=account/order/info&order_id=6427

    а хотелось бы изменить на сюда:

    /index.php?route=account/order

    Заранее благодарю за потраченное Ваше время.

  59. 2014-04-12 в 04:23:12 | Ruslan Brest

    Открываем файл `catalog/model/checkout/order.php`

    Находим строчку

    $template->data['link'] = $order_info['store_url'] . 'index.php?route=account/order/infoℴ_id=' . $order_id;

    её надо отредактировать (или имеющуюся закомментировать и продублировать, а изменения делать на копии этой строчки):

    $template->data['link'] = $order_info['store_url'] . 'index.php?route=account/order';
  60. Здравствуйте,

    подскажите пожалуйста решение по письмо об заказе админу ocStore 15512

    где как что нужно подправить.

    С Уважением.

  61. 2014-04-14 в 02:07:26 | Ruslan Brest

    Юрий, я уже всё, что мог, сказал по этому вопросу.

  62. Руслан, это другой Юрий...

  63. 2014-04-14 в 03:20:01 | Ruslan Brest

    Ок, пардон :) Тогда это вопрос к анонимному Юрию: я не понимаю, о чём идёт речь в вопросе, обозначенном как "письмо об заказе админу ocStore 15512".

    Обычно все проблемы с отправкой писем решатся с хостером. И сотни раз уже обсуждались на форумах. На стороне опенкарта можно поиграться разве что с переключением способа отправки с SMTP на "mail()", т.к. часто начинающие пользователи почему-то бросаются заполнять и выбирают SMTP способ вместо того, чтобы поставить галочку на использование "mail()".

    Но обычно все проблемы с неотправкой почты кроются в настройках хостера и решаются с ним - либо в их хелпе описаны, либо через службу поддержки.

  64. Если кому-то поможет, вот версия отправки уведомления админу о регистрации нового покупателя. Вставлять в файле:

    /www/htdocs/catalog/model/account/customer.php

    после первого появления в тексте переменной: $mail->send();

    //Моя версия отправки уведомления админу о регистрации нового посетителя   
      $this->load->model('localisation/country');
            $this->load->model('localisation/zone');
            $message = $this->language->get('text_new_registration') . ' ' . $this->config->get('config_name') . '.' . "\n\n";
            $message .= $this->language->get('entry_firstname') . ' ' . $data['firstname'] . "\n";
            $message .= $this->language->get('entry_lastname') . ' ' . $data['lastname'] . "\n";
            $message .= $this->language->get('entry_email') . ' ' . $data['email'] . "\n";
      $message .= $this->language->get('text_password') . ' ' . $data['password'] . "\n\n";
            $message .= $this->language->get('entry_telephone') . ' ' . $data['telephone'] . "\n";
            $message .= $this->language->get('entry_address_1') . ' ' . $data['address_1'] . "\n";
            $message .= $this->language->get('entry_address_2') . ' ' . $data['address_2'] . "\n";
            $message .= $this->language->get('entry_city') . ' ' . $data['city'] . "\n";
            $message .= $this->language->get('entry_postcode') . ' ' . $data['postcode'] . "\n";
            $message .= $this->language->get('entry_country') . ' ' . $data['country'] . "\n";
            $mail->setSubject($subject);
            $mail->setText(html_entity_decode($message, ENT_QUOTES, 'UTF-8'));
            $mail->setTo($this->config->get('config_email'));
            $mail->send();

    Эта версия у меня работает на Opencart 1.5.6.4

  65. Для отправки уведомлений админу, использую html.

    В php не силен. Уже пол дня колупаю:

    /catalog/model/checkout/order.php

    и

    /catalog/view/theme/default/template/mail/order.tpl

    Никак не получается долепить к этой форме коментарий, может кто то уже решал эту задачу?

    Умоляю помогите!!)))))

  66. 2014-09-01 в 19:36:37 | Сергей

    Привет.Я с очень глупым вопросом.Как убрать в письме,которое приходит покупателю,надпись,в низу письма Работает на ocStore.

  67. 2014-09-02 в 04:13:50 | Ruslan Brest

    Посмотрите, какая строка у вас в файле `catalog/language/russian/mail/order.php` для ключа `text_new_powered`. Можно пустую строку оставить:

    $_['text_new_powered']          = '';
  68. 2014-10-11 в 04:51:30 | Василий

    2012-09-26 в 00:07:09 | Вячеслав

    Я вот так сделал:

    в catalog/model/checkout/order.php

    после

    Не работает данный вариант...maxstory v 5.5.1

  69. 2014-10-12 в 04:02:05 | Василий

    Помогите пожалуйста с выводом артикля sku в сообщение админу. Вариант который тут не помог

  70. Руслан, если можно, помогите закомментировать или удалить полностью из оформления заказа - раздел "Шаг 2: Профиль и Платежная информация" со всем его содержимым. Как это сделать, а точнее, где и что нужно прописать, чтобы убрать именно этот раздел (шаг 2), информации нигде нет... есть только, как убрать некоторые поля из этого раздела или предлагают поставить модуль Simple (я его не хочу).

    P.S.: Сейчас у меня остались Шаг 2, 5 и 6 (Шаг 1, 3 и 4 уже удален, так как по этим шагам была инструкция). У меня стоит цель, избавиться от "Шаг 2", чтобы клиент при нажатии на "Оформить заказ" сразу попадал на "Шаг 5: Способ оплаты (с комментарием)". Опишите пожалуйста подробно, как это сделать (что и где править, чтобы удалить шаг 2)!

  71. 2014-10-22 в 19:02:14 | Ruslan Brest

    Там в оформлении заказа такая кухня наворочена, что работы по убиранию и проверкам минимум на несколько часов (если не на день, а то и два, растянется). Я за это меньше, чем за 80-100$, не возьмусь. Потому что сначала кажется - сколько там того второго шага. А потом то одно не работает, то другой, то в другой части опенкарта отвалилось что-то, чему не хватает тех данных с убранных шагов. И так на пару дней дёрганий и отвлечений.

    И такие вопросы лучше писать на форум:

    http://rb.labtodo.com/forum/forum/2/opencart/

    или

    http://rb.labtodo.com/forum/forum/4/trebuyutsya-platnye-dorabotki/

    а не в тему, которая с вопросом никак не связана. Сейчас ваш вопрос получили все подписчики email-уведомлений админу о заказе.

  72. Руслан, спасибо за ответ! Буду думать.

    По поводу Вашего форума я не знал, и отправил сообщение в данной теме... так что, извините! Если оно здесь лишнее - удалите его пожалуйста.

  73. 2014-12-17 в 05:24:53 | Дмитрий

    Здравствуйте. В общем домен на русском, не могу в настройках сайта поставить почту на кириллице, т.е. хотел вот так robot@название.онлайн, а сейчас могу только robot@название.ru( после точки принимает только латиницу), В общем после точки надо засунуть вот это: xn--80asehdb., в почте будет отображаться как ".онлайн"

  74. 2015-03-20 в 01:04:47 | Аноним

    Добрый день!

    В поле "Е-Mail" в настройках магазина нельзя вставить два адреса почты.

    А как включить уведомление о заказе на второй адрес почты?

  75. 2015-03-24 в 02:15:13 | Ruslan Brest

    Система - Настройки - [редактировать] - вкладка "Почта". В самом низу - поле для дополнительных email-адресов. Перечислять их здесь надо через запятую, без пробелов.

  76. Здравствуйте! Как вывести количество наличия на складе (stock_available) в письмо?

  77. Здравствуйте, не подскажете как сделать, чтобы в письме заказа приходил также excel файл с заказом?

  78. 2015-06-04 в 23:27:10 | Ruslan Brest

    Коротко - не подскажу. Ни в формате комментария, ни в формат статьи. Многовато это для них.

    Надо найти библиотеку, написать формирование эксель-файла. И прикреплять его к письму с заказом. Я смысла в этих операциях не вижу, поэтому писать для себя или на продажу такой модуль не планирую.

  79. 2015-07-22 в 18:43:50 | Сергей

    Как добавить возможность прикрепления файлов к письму?

  80. Доброго времени суток! Такая проблема, после установки шаблона не приходят уведомления админу.А клиент получает, подскажите в чем может проблема?

    В журнале ошибок вот что написано

    2015-12-05 20:48:38 - PHP Notice: Error: Could not load template /var/www/icq601901982/data/www/mobi37.ru/catalog/view/theme/default/template/checkout/mail/order.tpl! in /var/www/icq601901982/data/www/mobi37.ru/vqmod/vqcache/vq2-system_library_template.php on line 19

  81. 2015-12-06 в 12:57:59 | Ruslan Brest

    Подсказываю: в чём угодно может быть проблема, надо смотреть в код и логи. Могу посмотреть, не бесплатно. Гадать в телепатическом режиме не согласен.

    Указанное сообщение из журнала ошибок говорит о том, что Вы или установленный шаблон удалили TPL-файл из дефолтной темы. И к проблеме с отправкой писем админу вряд ли имеет отношение.

  82. Так не было этого файла в оригинальной версии без шаблона, и письма приходили и все нормально было.

    Эта ошибка появляется каждый раз после завершения оформление заказа, оформлял сам заказ и проверял.

    За сколько можете исправить?

  83. Наконец то разобрался, долго копался в папках, и обнаружил по пути: sait.ru/catalog/view/theme/default/template папку mail, затем просто копирнул эту папку в директорию catalog/view/theme/default/template/checkout, вышло так catalog/view/theme/default/template/checkout/mail/order.tpl, и вуаля, все заработало, целую ночь над этой хренью голову ломал, а решение оказалось таким простым :-)

  84. 2015-12-10 в 08:28:08 | Ruslan Brest

    Решение на самом деле не простое, а странное. В оригинале письма отправляются из модели, а шаблоны HTML-писем берутся там, где они расположены в default шаблоне. Шаблонам (если это шаблон, а не сборка под видом шаблона) туда лезть не надо - и если шаблон это делает, то думается мне, что вы с ним ещё натерпитесь проблем и танцев с бубнами. Я имею в виду в т.ч. и совместимость с расширениями для опенкарт.

  85. Да вроде все нормально, видимо шаблон не допилен, думаю, если не лезть в код, то не должно быть ошибок

  86. 2016-04-26 в 01:01:36 | Александр Булатов

    Добрый день!

    У меня простая ситуация только не могу понять как и куда прописать.

    Нужно, чтобы в поле где адрес с именем пишется в письме писалось отчество.

    В соответсвующих файлах уже прописал, чтобы покупатель писал отчество и оно видно в админке только в письме, которое приходит админу и покупателю не отображается отчество. Куда нужно писать код, чтобы писалось не пойму. Пробовал прописать в файле order.php и ничего не поменялось только моя переменная вывелась как {middlename}. Крайне сильно буду благодарен за помощь.

  87. 2016-04-26 в 05:23:04 | Ruslan Brest

    Если вы своё дополнительное поле добавляли, то надо сделать, чтобы оно при создании заказа попадало в базу в архивную запись о заказе, а в месте, где отсылка происходит - убедиться, что оно извлекается из информации о заказе и становится доступно при формировании письма.

    Гораздо проще было бы переименовать существующее поле "Имя" в "Имя, отчество" и больше ничего не дописывать и не менять.

  88. НЕ подскажете в чем может быть проблема, работаю на Ocstore 1.5.5.1.2 добавил модуль, чтобы ображалася картинка в сообщении по заказу, которое приходит клиенту, перебробував много почт для теста, и на некоторых почтах, фото отображается, а на других нет, а на некоторых вообще сбрасывается клиенту, еще и письмо которое приходит админу уже сижу несколько дней, в чем может быть проблема???

    код до модуля с картинкой:

    ]]>

  89. ]]>

Оставьте комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

Авторизация  Facebook. MaxSiteAuth. Loginza

(обязательно)