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

Satool

  • Захожу иногда
  • 132
  • 2 / 0
На странице /administrator/index.php?option=com_jshopping&controller=orders&task=show&order_id= есть кнопка  "Отправить письмо" но она отправляет заказ клиенту и администратору, а необходимо только администратору.
В какую сторону смотреть?
*

kit2m2

  • Живу я здесь
  • 2700
  • 220 / 1
Все правильно. В стандартном функционале письмо отправляется пользователю. Ведь там так и написано "Уведомить пользователя".

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

Ну или как Вы это любите, переопределить шаблона админки и добавить в него код.
Бесплатные расширения для JoomShopping | Расширения на заказ | Шаблоны страниц JoomShopping | Сайты и магазины под ключ | Исправлю проблемы с навигацией и дублями | Переделаю ваш старый сайт на новом движке
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
Ну или как Вы это любите, переопределить шаблона админки и добавить в него код.

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

kit2m2

  • Живу я здесь
  • 2700
  • 220 / 1
На вскидку:
Добавить чекбокс или радио-кнопку по условию,  которой менять значение переменной $order->email = "почта администратора";

Но не уверен...
Бесплатные расширения для JoomShopping | Расширения на заказ | Шаблоны страниц JoomShopping | Сайты и магазины под ключ | Исправлю проблемы с навигацией и дублями | Переделаю ваш старый сайт на новом движке
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
На вскидку:
Добавить чекбокс или радио-кнопку по условию,  которой менять значение переменной $order->email = "почта администратора";

Но не уверен...

Это ничего не даст, E-mail таким образом не переопределить (в шаблоне).

TO Satool: смотреть в сторону триггера onBeforeSendEmailsOrder или onBeforeSendOrderEmailClient (так немного сложнее и избыточней, первый лучше). А "хитрость" в том, что нужно обязательно проверять - находитесь вы в админке или на фронте. Рекомендую, самому попробовать написать, хотя бы в образовательных целях.
« Последнее редактирование: 18.01.2020, 20:58:01 от D. Tkachenko »
*

Satool

  • Захожу иногда
  • 132
  • 2 / 0
Рекомендую, самому попробовать написать, хотя бы в образовательных целях.
Стремлюсь к этому ^-^
Попробую тем более что пример есть
*

Satool

  • Захожу иногда
  • 132
  • 2 / 0
А "хитрость" в том, что нужно обязательно проверять - находитесь вы в админке или на фронте.
а как быть если надо отправить и клиенту и администратору?
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
а как быть если надо отправить и клиенту и администратору?

Как заметил kit2m2 выводить чекбокс рядом с кнопкой или доп. кнопку, только т.к. плагин обязателен, то это должно быть реализовано в нем. Попробуйте сами, а я постараюсь (как по времени будет) через день-два опубликовать свой вариант. Без чекбокса/доп. кнопки, там вообще несколько строк кода (но, это как-то несерьезно).
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
Как и обещал, выкладываю свой вариант плагина.
Скачать можно с Я.Диска: https://yadi.sk/d/hEA9xyB7-xq59Q

*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
Примечание: в таком варианте письмо отправленное администратору не будет содержать e-mail покупателя. Если это недопустимо, следует заменить код плагина (файл jshopping_sendorderadm.php) на следующий:
Код
<?php
defined('_JEXEC') or die('Restricted access');

class JsOverrideMailer {

  function __call($method, $args){
    if(isset($this->$method)){
      $func = $this->$method;
      return call_user_func_array($func, $args);
    }
  }

}

class plgJshoppingOrderJshopping_sendorderadm extends JPlugin {

  function __construct(&$subject, $config){
    parent::__construct($subject, $config);
  }

  function onBeforeShowOrder(&$view){
    $view->tmp_html_start = '
      <script>
        jQuery(document).ready(function($){
          $(\'<div class="btn-wrapper" id="toolbar-mail-admin"> \
            <button onclick="Joomla.sendorderadmbtn();" class="btn btn-small button-mail"> \
            <span class="icon-mail" aria-hidden="true"></span> \
            Отправить письмо администратору</button> \
            </div>\').insertAfter(\'#toolbar-mail\');

          Joomla.sendorderadmbtn = function(){
            $("input[name=\'sendorderadm\']").val("1");
            Joomla.submitbutton(\'send\');
          }
        });
      </script>
    ';

    $view->tmp_html_end = '<input type="hidden" name="sendorderadm" value="0" />';
  }

  function onBeforeSendOrderEmailClient(&$mailer){
    $app = JFactory::getApplication();
    $jinput = $app->input;
    $sendorderadm = $jinput->getInt('sendorderadm', 0);

    if($app->isAdmin() && $sendorderadm){
      $mailer = new JsOverrideMailer();
      $mailer->Send = function(){
        return true;
      };
    }
  }

}
Скачать v1.1 с Я.Диска: https://yadi.sk/d/2UDCEFRsvlUk3A
« Последнее редактирование: 21.01.2020, 20:36:18 от D. Tkachenko »
*

Satool

  • Захожу иногда
  • 132
  • 2 / 0
Спасибо D. Tkachenko,  *DRINK* смотри личку
Самому неполучилось. Дошло до  *ОХ-Х-Х*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменить письмо-заказ

Автор mesmer

Ответов: 14
Просмотров: 1274
Последний ответ 22.07.2021, 17:12:30
от ureel
Как могла попасть старая цена в заказ или какие логи посмотреть?

Автор Dolphin4ik_1

Ответов: 3
Просмотров: 157
Последний ответ 03.05.2021, 23:22:17
от gartes
[Решено] реализация поиска только по названию товара

Автор permstyle

Ответов: 23
Просмотров: 2444
Последний ответ 17.01.2021, 17:18:20
от shop.letniysad.pro
Заказ (Не закончен)

Автор see_watson

Ответов: 15
Просмотров: 1294
Последний ответ 25.12.2020, 14:43:16
от nevigen
Добавить сумму скидки в заказ JoomShopping

Автор Kokshetau

Ответов: 0
Просмотров: 248
Последний ответ 01.11.2020, 23:13:21
от Kokshetau