отправлять на 2 майла уведомление о закзае

  • 30 Ответов
  • 6454 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн xDD


Хотелось знать можно ли так? и сложно ли это в реализации?
Умные исправляют ошибки, мудрые их недопускают =)

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
Изменить просто components\com_jshopping\controllers\checkout.php
function _sendOrderEmail

Будет в новой версии для Продавцов.

*

Оффлайн Beer

  • ******
  • 1036
  • [+]41 / [-]1
  • БИРУ - БИР!
    • Просмотр профиля
 Администратор на почту получает уведомление о заказе и отвечает покупателю о возможности или невозможности заказа.
 В письме, которое получает админ стоит адрес отправителя - сайт админа. Т.е. надо в заказе скопировать адрес, и вставить в почтовой программе в получателя.
 2 раза автоматом уже писал сам себе ...
 
 Надо чтобы в письме о заказе адрес отправителя = адрес покупателя.

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
Изменить components\com_jshopping\controllers\checkout.php
function _sendOrderEmail

*

Оффлайн dragon4x4

мда, актуально, но я не силен что на что надо подменить тама... подскажете строчку и код ?

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
код для отправки админу

можна вставить 2 раза (будет 2 емейла)
$mailer =& JFactory::getMailer();
        $mailer->setSender(array($mailfrom, $fromname));
        $mailer->addRecipient($jshopConfig->contact_email);
        $mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
        $mailer->setBody($message_admin);
        if ($jshopConfig->order_send_pdf_admin){
            $mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
        }
        $mailer->isHTML(true);
        $send =& $mailer->Send();

меняйте
$mailer->addRecipient($jshopConfig->contact_email);
на
$mailer->addRecipient("email@email.com");
email@email.com - для примера

*

Оффлайн dragon4x4

сорри, не так наверное спросил...
Надо чтобы в письме о заказе адрес отправителя = адрес покупателя.  а то у меня если писать ответ через репли, то вобще поле адреса пустое... и надо кпировать адрес покупателя...

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
$mailer->setSender(array("email@email.com", "name"));

*

Оффлайн dragon4x4

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

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
магазин использует настройки joomla

administrator/index.php?option=com_config

Для изменение отправителя
$mailer =& JFactory::getMailer();
            $mailer->setSender(array($mailfrom, $fromname));
            $mailer->addRecipient($jshopConfig->contact_email);
            $mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
            $mailer->setBody($message_admin);
            if ($jshopConfig->order_send_pdf_admin){
                $mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
            }
            $mailer->isHTML(true);
            $send =& $mailer->Send();
заменить на
$mailer =& JFactory::getMailer();
            $mailer->setSender(array($order->email, $order->f_name." ".$order->l_name));
            $mailer->addRecipient($jshopConfig->contact_email);
            $mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
            $mailer->setBody($message_admin);
            if ($jshopConfig->order_send_pdf_admin){
                $mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
            }
            $mailer->isHTML(true);
            $send =& $mailer->Send();
« Последнее редактирование: 10.03.2011, 22:55:01 от victorantoniak »

*

Оффлайн dragon4x4

спасибо, НО теперь заказчику приходит мейл где отправитель указан он сам а не адрес почты магазина... и при ответе он сам себе значит посылает...
А в магазин копия мейла-заказа приходит все равно с пустым полем From: ... и при ответе reply: приходиться вставлять адрес копи/пасте....

"administrator/index.php?option=com_config" мне сложно понять где и что такое... и что там менять.... :)

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
НЕ втом месте поменяли

меняйте для (блока отправке) админу

там $mailer->addRecipient($jshopConfig->contact_email);

*

Оффлайн dragon4x4

спасибо, разобрался что к чему... в упор не замечал разницы двух блоков :)

*

Оффлайн devirus

А почему у меня не отправляется почта если поменять $mailer->setSender ?
Может потому что у меня почта через SMTP-сервер настроена? И как поступить в этом случае?

*

Оффлайн varst

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

У меня такая же проблема, но я не понял как её решить подскажите пожалуйста где и что надо менять
« Последнее редактирование: 11.12.2011, 02:49:21 от varst »

*

Оффлайн devirus

Изменить просто components\com_jshopping\controllers\checkout.php
function _sendOrderEmail

Будет в новой версии для Продавцов.

На данный момент возможно не залезая в код отправлять заказ на 2 мыла (курьеру и администратору для контроля)?

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
Создайте продавца / задайте продукту продавца
+
В настройках задайте
Отправлять заказ продавцу

*

Оффлайн devirus

Спасибо, то что нужно!

А как сделать чтобы в поле "от кого" у администратора стоял адрес клиента (сейчас адрес магазина), а у клиента — адрес продавца.

Уже обсуждалось, но я так понял файл checkout.php значительно изменился…

Да, и еще необходимо сделать какую-то метку в письме (или в теме, или в теле письма), что этот заказ не для админа, а для Продавца.
В моем случае вполне устроило бы вот описание в обоих письмах (клиенту и вендору):

шаблон checkout/orderemail.php
 
<?php if ($this->client){?>
  <tr>
     <td colspan = "2" style="padding-bottom:10px;">
       <?php print $this->order_email_descr;?>
     </td>
  </tr>
<?php }?>

Но оно отображается только у клиента и удаление условия if не к чему не приводит.
« Последнее редактирование: 22.07.2012, 21:34:24 от devirus »

*

Оффлайн devirus

Разобрался, работает как нужно, но…

Если у вендора или магазина адрес почты на том-же домене, что и сайт, то туда не доходят сообщения, на @gmail.com доходят, а на @nebofon.ru нет (сама почта работает, если вручную посылать). Тип отправки — PHP mail

Скорее всего проблема в настройке почты, но просто чтоб убедиться, нет никаких фильтров в Joomla или ЖШ на этот счет?

upd. изменил в cpanel "Маршрутизация электронной почты" с "Локальный Mail Exchanger" на "Удаленный Mail Exchanger"
всё работает как положено! Всем спасибо! :)
« Последнее редактирование: 24.07.2012, 01:16:43 от devirus »

*

Оффлайн dragon4x4

привет, после обновления до новейшей версии опять в поле отправителя стоит адрес магазина, а не покупателя ... не могу просто репли делать... как и где теперь менять ? надо имя и фамилия, адрес покупателя в поле для Reply

как сделать чтобы pdf приходило не только в Email, но и, после оформления заказа покупателем, там где выводится "спасибо за заказ"
нужно чтобы эти два файла подружились:
finish.php
и
generete_pdf_order.php

*

Оффлайн dmayak

По теме топика я не увидел что-то конкретного решения, но разобрался сам. Спасибо за наводку на функцию, хотя её объявление было как оказалось не в контроллере, а в модели. Задача стояла сделать возможность отправлять информацию о заказе на несколько эмейлов, тоесть по сути задать несколько эмейлов админа, реализация с продавцами клиента не устраивала. В настройках джумшоппинга, как ни странно, нет валидации эмейла, что сильно упростило задачу :). В файле /components/com_jshopping/models/checkout.php заменил строку
243 $mailer->addRecipient($jshopConfig->contact_email);на
$mailer->addRecipient(explode( ',', $jshopConfig->contact_email));Теперь можно просто в админке в настройках вписывать в поле почты админа несколько адресов через запятую. Потестил на двух адресах - уведомления пришли.
Такая реализация достаточна или могут возникнуть проблемы о которых я не в курсе?

*

Оффлайн victorantoniak

  • *****
  • 1510
  • [+]177 / [-]2
  • JoomShopping Team
    • Просмотр профиля
Смотрите новую версию JoomShopping

*

Оффлайн semak85

магазин использует настройки Joomla

administrator/index.php?option=com_config

Для изменение отправителя
$mailer =& JFactory::getMailer();
            $mailer->setSender(array($mailfrom, $fromname));
            $mailer->addRecipient($jshopConfig->contact_email);
            $mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
            $mailer->setBody($message_admin);
            if ($jshopConfig->order_send_pdf_admin){
                $mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
            }
            $mailer->isHTML(true);
            $send =& $mailer->Send();
заменить на
$mailer =& JFactory::getMailer();
            $mailer->setSender(array($order->email, $order->f_name." ".$order->l_name));
            $mailer->addRecipient($jshopConfig->contact_email);
            $mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
            $mailer->setBody($message_admin);
            if ($jshopConfig->order_send_pdf_admin){
                $mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
            }
            $mailer->isHTML(true);
            $send =& $mailer->Send();
Спасибо, работает. Править надо тут (для тех кто как я не сразу понял) components/com_jshopping/models/checkout.php

*

Онлайн dmitry_stas

уже ничего нигде править не надо. это нужно было только в старых версиях ЖШ.

p.s. это я об нескольких email, если что.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Оффлайн semak85

Это я не про 2 емайла, а про емайл клиента в поле "От кого", чтобы при ответе самому себе письма не отправлялись случайно

Отправитель заказа - e-mail покупателя.
Чтобы администратору магазина заказы приходили от покупателя, а не с почты магазина, исправляем checkout.php:
(Путь: .../public_html/components/com_jshopping/models/checkout.php)

в блоке:     //send mail admin
строчку:     $mailer->setSender(array($mailfrom, $fromname));
меняем на: $mailer->setSender($order->email);

информация отсюда: https://www.webdesigner-profi.de/joomla-webdesign/joomla-shop/forum/posts/10/4318.html?lang=en
(проверено - работает)

*

Онлайн dmitry_stas

и зачем оно надо? чтобы письма с заказами с неизвестных адресов в спам попадали чаще?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Чтобы одной кнопкой отвечать на письмо покупателю, а не копировать адрес из заказа в поле адресата!

Здравствуйте!
После вчерашнего обновления до 4.11.0 уведомления о заказах снова приходят "от магазина". (В поле отправителя стоит e-mail магазина, а не покупателя)... для ответа приходится копировать e-mail покупателя из тела письма, чтобы написать ответ ... не удобно...

checkout.php претерпел серьезные изменения - как и где теперь менять ? Хотелось бы в приходящем письме, в поле Reply видеть e-mail покупателя, а не свой собственный.
« Последнее редактирование: 22.10.2015, 20:25:01 от kupaladen »