Отправка писем клиенту


#1

Заметил странную вещь.
Условия:
1.На сайте настроен способ доставки Самовывоз(все как надо,работает,адрес и данные покупателя не запрашивает)
2.Покупатель не зарегистрирован и оформляет заказ с Самовывозом.
Итог:
1.После оформления заказа админу приходит письмо о новом заказе
2. cs-cart пытается отправить письмо и клиенту,но так как email-адрес клиента получается ввиде 1599723401@example.com ,то естественно почтовый сервер ругается (типа не могу отправить и т.д).
Но ведь при Самовывозе не указываются никакие данные клиента(телефон,email и т.д) .
Вопрос:
Как сделать чтобы при заказе незарегистрированным клиентом и при Самовывозе никакие письма (кроме к админу) никуда не отправлялись?


#2

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


#4

Спс за уточнение,исправил в теме.


#5

можно попробовать подключиться к хуку send_order_notification (app/functions/fn.cart.php ~ 7279 строка) и добавить код
use Tygh\Enum\UserTypes;
function fn_my_change_send_order_notification ( $order_info, $edp_data,&$force_notification, $notified, $send_order_notification)
{
if (fn_checkout_is_email_address_fake($order_info[‘user_data’][‘email’])) {
$force_notification[UserTypes::CUSTOMER]=false;
}
}
$order_info[‘user_data’][‘email’] с расположением email могу ошибаться
сгенерированые cs-cart email он должен отсеить


#6

Не лечится,хотя я и не уверен на все 100 что правильно сделал…


#7

попробуйте так
fn_checkout_is_email_address_fake($order_info[‘email’])


#8

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


#9

Да и вообще непонятно откуда берется этот адрес почты и где он подставляется.


#10

вы знаете как внести изменения через модуль?


#11

Модуль Мои_изменения установлен-включен.Через него сделаны изменения в дизайне.
Меня малость смущает фраза

можно попробовать подключиться к хуку send_order_notification (app/functions/fn.cart.php ~ 7279 строка) и добавить код


#12

И вот интересно,такое только у меня или нет?


#13

нужно создать файл
app/addons/my_changes/init.php

содержимое

<?php
 if (!defined('BOOTSTRAP')) { die('Access denied'); }
 fn_register_hooks(
    'send_order_notification'
 );

создаете app/addons/my_changes/func.php

содержимое

<?php 
use Tygh\Enum\UserTypes;
function fn_my_changes_send_order_notification ( $order_info, $edp_data, &$force_notification, 
$notified, $send_order_notification)
{
    if (fn_checkout_is_email_address_fake($order_info["email"])) {
    $force_notification[UserTypes::CUSTOMER]=false;
}
}

#14

К сожалению без изменений.
В админке,кстати,так должно отображаться значение поля Пользователь (который незарегистрированный)?

Кэш чистил удалением всей папки.