Jump to content
Sign in to follow this  
Seman

[Решено] Имя клиента в письме о заказе

Recommended Posts

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

Подскажите, пожалуйста, как добавить в письмо о заказе имя клиента? Тема не новая, но пошарив немного в Гугле натыкнулся лишь на старые темы прошлых версий Opencart, где вообще такой функции не было. В кодах я довольно далёкий, поэтому не хотелось бы напортачить. Спасибо.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Да, для второй версии. Скажу честно, я уже проводил некоторые манипуляции с информацией в письме, но не помню в каком файле я всё это делал. Но насколько я помню, имя всё-таки не приходило (возможно я ошибаюсь). Я кажется удалил статус заказа и ip. Просто удобно сразу из письма перезвонить клиенту и понимать, как к нему обращаться. На данный момент, у меня вот такая ситуация:

c59dad97acfd.jpg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Ниже этой таблицы должна идти таблица с данными покупателя (адрес оплаты и адрес доставки, где есть имя и фамилия).

Если она у вас вырезана, то посмотрите файл: catalog/view/theme/default/template/mail/order.tpl   строки 53-70

Имейте ввиду, что файл общий и для письма админу и для письма клиенту.

Share this post


Link to post
Share on other sites

Ниже этой таблицы должна идти таблица с данными покупателя (адрес оплаты и адрес доставки, где есть имя и фамилия).

Если она у вас вырезана, то посмотрите файл: catalog/view/theme/default/template/mail/order.tpl   строки 53-70

Имейте ввиду, что файл общий и для письма админу и для письма клиенту.

Знаете, просмотрел я родной order.tpl и не обнаружил я в нём намёков на имя (( А у Вас приходит письмо с именем?

Share this post


Link to post
Share on other sites

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

Вы должны получать вот такое письмо: http://prntscr.com/9fsol3

Share this post


Link to post
Share on other sites

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

Вы должны получать вот такое письмо: http://prntscr.com/9fsol3

Теперь понял. Дело всё в том, что именно поле "Адрес Платежа" я и вырезал. Подскажите, а как с него теперь правильно вырвать "имя" и присобачить его в "информацию о заказе"?

Share this post


Link to post
Share on other sites

Это не проблема, только ведь клиенты у вас тоже не видят себя как заказчика в письме, они ведь тоже самое получают, не смущает вас это?

Share this post


Link to post
Share on other sites

На данный момент у меня вот настолько урезана информация. Магазин работает исключительно на самовывоз.

 

0dd10c13d7ff.jpg

Share this post


Link to post
Share on other sites

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

Edited by Seman

Share this post


Link to post
Share on other sites

А что касается адреса для самовывоза, так у меня это идёт в самом тексте письма... Где забирать товар они прочитают однозначно.

Share this post


Link to post
Share on other sites

Самый простой способ, это положить оригинальную тпл-ку рядом в ту же папку, но с названием "aorder.tpl" и использовать её для писем админу,

при этом в файле: catalog/model/checkout/order.php

в строках 717-721 заменить order.tpl на aorder.tpl

 

-------------------------

второй способ сделать копию вашей модифицированной тпл-ки и так же назвать её aorder.tpl

и в неё, в нужном месте добавить: <?php echo $client_name; ?>

потом в файле: catalog/model/checkout/order.php

в строках 717-721 заменить order.tpl на aorder.tpl

и до строки 717 добавить :

$data['client_name'] = 'Покупатель: ' . $order_info['firstname'] . ' ' . $order_info['lastname'];

Share this post


Link to post
Share on other sites

Первый способ - отлично работает!

 

Для ищущих решение:

 

1. Копируем order.tpl, который лежит в catalog/view/theme/default/template/mail/ и переназываем его aorder.tpl.

Если файл order.tpl подвергался модификации, то надо копировать родной от Вашей версии Opencart.

 

2. Редактируем файл order.php, который лежит в catalog/model/checkout/.

Находим:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) {
 $html = $this->load->view($this->config->get('config_template') . '/template/mail/order.tpl', $data);
} else {
 $html = $this->load->view('default/template/mail/order.tpl', $data);
}

меняем на:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/aorder.tpl')) {
 $html = $this->load->view($this->config->get('config_template') . '/template/mail/aorder.tpl', $data);
} else {
 $html = $this->load->view('default/template/mail/aorder.tpl', $data);
}

За решение, спасибо shchs!

Edited by Seman
  • +1 1

Share this post


Link to post
Share on other sites

А как всё таки вывести имя покупателя в шаблоне письма? Какая переменная за это отвечает? Я пробовал name, first_name, firstname, и некоторые другие, но в письме всегда пишет - "Notice: Undefined variable: first_name in /home/t/theokc0n/fastmuscles.ru/public_html/catalog/view/theme/default/template/mail/order.tpl on line 32".

Share this post


Link to post
Share on other sites
В 18.12.2015 в 23:28, shchs сказал:

Самый простой способ, это положить оригинальную тпл-ку рядом в ту же папку, но с названием "aorder.tpl" и использовать её для писем админу,

при этом в файле: catalog/model/checkout/order.php

в строках 717-721 заменить order.tpl на aorder.tpl

 

-------------------------

второй способ сделать копию вашей модифицированной тпл-ки и так же назвать её aorder.tpl

и в неё, в нужном месте добавить: <?php echo $client_name; ?>

потом в файле: catalog/model/checkout/order.php

в строках 717-721 заменить order.tpl на aorder.tpl

и до строки 717 добавить :

$data['client_name'] = 'Покупатель: ' . $order_info['firstname'] . ' ' . $order_info['lastname'];

 

 

Попробовал 2 вариант не получилось пустая строка в письме 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.