Jump to content
Sign in to follow this  
Dimdimych

[Решено] Отключить почту при редактировании заказа

Recommended Posts

Здравствуйте. При редактировании заказа происходит повторная отправка email клиенту с оформленным заказом. Иногда приходится редактировать заказ много раз и не хочется каждый раз спамить клиента письмами. Если кто знает, подскажите, как можно отключить отправку email только при редактировании заказа? При изменении статуса заказа или при первичном оформлении должны при этом отправляться

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

Хотите экспериментов?

 

Их есть у меня

 

catalog\model\checkout\order.php

 

строка 789 (может у кого рядои)

$mail->send();

 

if (!isset($this->session->data['token']))   $mail->send();

Share this post


Link to post
Share on other sites

Хотите экспериментов?

 

Их есть у меня

 

catalog\model\checkout\order.php

 

строка 789 (может у кого рядои)

$mail->send();

 

if (!isset($this->session->data['token']))   $mail->send();

я думаю при таком запросе письмо и при новом заказе отправляться не будет... не так ли?!

Share this post


Link to post
Share on other sites

При новом - будет

 

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

 

Но надо проверять

Edited by chukcha

Share this post


Link to post
Share on other sites

После этого:

$mail->send();

Добавил это:

if (!isset($this->session->data['token']))   $mail->send();

Отредактировал заказ, но письмо приходит и клиенту и админу. Тестировал на чистом ocStore-2.1.0.2.1

Share this post


Link to post
Share on other sites

:)

 

ВМЕСТО ЭТОГО!!!

Share this post


Link to post
Share on other sites

Заменил $mail->send(); на if (!isset($this->session->data['token'])) $mail->send();

Отредактировал заказ (поменял кол-во товара). Письма пришли и клиенту и админу...

Share this post


Link to post
Share on other sites

хм.. прикольно

 

686+-

 

//                            $mail->send();
if (!isset($this->session->data['api_id'])) $mail->send();

 

 

782 +-

 

 

791+-

  • +1 7

Share this post


Link to post
Share on other sites

chukcha, спасибо Вам за помощь (+1 к Карме). Такой Вариант работает.

Сделал следующий тест:

1) Оформил новый заказ - email пришел и клиенту и админу (Правильно!);

2) Отредактировал через админку заказ - письма не приходят (ОТЛИЧНО!);

3) Открыл заказ, поменял статус с уведомлением клиенту - письмо пришло клиенту (Правильно!)

 

И так, если не нужна отправка дублирующего email клиенту и админу при редактировании заказа, то вот решение от  chukcha:

В файле catalog\model\checkout\order.php делаем следующие изменения:

686+-
 
//                            $mail->send();
if (!isset($this->session->data['api_id'])) $mail->send();
 
 
782 +-
 
 
791+-

Правда у меня на чистом ocStore-2.1.0.2.1 строки немного отличались: 686 +-; 780 +-; 788 +-

  • +1 3

Share this post


Link to post
Share on other sites

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

Сделал как у вас написано помогло. Покупателю на email перестал приходить  заказ. 

Но смс по прежнему приходят. 

Подскажите как их тоже отключить?

Share this post


Link to post
Share on other sites

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

Сделал как у вас написано помогло. Покупателю на email перестал приходить  заказ. 

Но смс по прежнему приходят. 

Подскажите как их тоже отключить?

по аналогии там одельно есть функция по отправке СМС поместите ево в такоеже if условие

Share this post


Link to post
Share on other sites

chukcha, спасибо Вам за помощь (+1 к Карме). Такой Вариант работает.

Сделал следующий тест:

1) Оформил новый заказ - email пришел и клиенту и админу (Правильно!);

2) Отредактировал через админку заказ - письма не приходят (ОТЛИЧНО!);

3) Открыл заказ, поменял статус с уведомлением клиенту - письмо пришло клиенту (Правильно!)

И так, если не нужна отправка дублирующего email клиенту и админу при редактировании заказа, то вот решение от chukcha:

В файле catalog\model\checkout\order.php делаем следующие изменения:

686+- //                            $mail->send();if (!isset($this->session->data['api_id'])) $mail->send();  782 +-  791+-
Правда у меня на чистом ocStore-2.1.0.2.1 строки немного отличались: 686 +-; 780 +-; 788 +-
Не сработало на Opencart 2.1.0.2.1rs , изменил строки 680,780,790. Шаблон не стандартный, может где в шаблоне еще сидит. Нашел еще $mail->send(); в 840 строке комментирование не помогло Edited by Valliane

Share this post


Link to post
Share on other sites

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

Добрые люди, подскажите как отключить отправление СМС  по аналогии с письмом.

При редактировании заказа сайт отравляет смс покупателю...

А мне этого не надо.

Share this post


Link to post
Share on other sites

Ну так нужно проверять место отправки СМС

  • +1 1

Share this post


Link to post
Share on other sites

Проверял и думал нашел, сделал по аналогии с выше указанным  закоментил но так и не чего не вышло. 

Edited by Igor174

Share this post


Link to post
Share on other sites

хм.. прикольно

 

686+-

 

//                            $mail->send();

if (!isset($this->session->data['api_id'])) $mail->send();

 

 

782 +-

 

 

791+-

 

 

Работает 100%

Спасибо, chukcha!

Share this post


Link to post
Share on other sites

Спасибо! Работает на ocStore 2.1.0.2.1

Share this post


Link to post
Share on other sites

На ocStore 2.1.0.2.1 отправляет теперь 2 письма, одно с заказом, второе со статусом сразу же. Кто сталкивался?

 

Share this post


Link to post
Share on other sites

Добрый день.

Ребята, подскажите несведущему, пожалуйста. Описанный метод на ocStore 2.3.0.2.3 не работает, письма и дальше продолжают отправляться и клиенту и администратору при редактировании заказа. Есть ли альтернатива?

Share this post


Link to post
Share on other sites

Вроде на 2.3.0.2.3 работает, но после обновления модификаторов.

Share this post


Link to post
Share on other sites
В 20.11.2017 в 22:13, Vasia197 сказал:

Вроде на 2.3.0.2.3 работает, но после обновления модификаторов.

Работает, даже на нестандартном шаблоне!!!

Спасибо,  chukcha!

Share this post


Link to post
Share on other sites

Спасибоchukcha! Больное место было:?

Сработало (пока вроде ттт) на 2.3.0.2.3, заменены строки 658, 747 и 755. Есть еще в строке 822, но там пока не трогала, посмотрим, как будет дальше.

Share this post


Link to post
Share on other sites

А у меня на OCart.PRO 2.3.0.2.5 $mail->send(); встречается 4 раза. Менять все?

Edited by gyurza2000

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  

  • Similar Content

    • By white130489
      почему может возникать ошибка "Internal Server Error" при попитке изиенить заказ в админке?

  • 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.