Редактируем письмо пользователю об изменении статуса заказа в Virtuemart

Открываем файл administrator\components\com_virtuemart\classes\ps_order.php и, начиная со строки

// MAIL BODY

правим тело письма.Для тех, кто впервые на броне поясню, чтобы не путались: if( VM_REGISTRATION_TYPE != ‘NO_REGISTRATION’ ) — это НЕ проверка на зарегистрированность пользователя, это проверка на необходимость регистрации вообще. Т.е. эта константа выбирается в админке (да-да, там, где выбирается необходимость регистрации в Virtuemart): НастройкиОбщие настройки — блок «Регистрация пользователей» — Тип регистрации пользователя. Именно это.

Вообще, если уж быть до конца точным, вся эта функция (notify_customer()) сочиняет письмо пользователю.

0

Редактируем письмо пользователю об изменении статуса заказа в Virtuemart: 5 комментариев

  1. Lina

    Подскажите пожалуйста чайнику, как присвоить например красный цвет строчке

    if( !empty($d[‘include_comment’]) && !empty($d[‘order_comment’]) ) {
    $message .= $VM_LANG->_(‘PHPSHOP_ORDER_HISTORY_COMMENT_EMAIL’,false).»:\n»;
    $message .= $d[‘order_comment’];
    Заранее спасибо.

  2. merinovkv Автор записи

    Можно в коде вкрутить что-то типа

    $message .= "<a style=\"color:red;\" >" . $VM_LANG->_('PHPSHOP_ORDER_HISTORY_COMMENT_EMAIL',false)."</a>\n";

    Можно в файле administrator/components/com_virtuemart/languages/common/russian.php
    напрямую написать:

    'PHPSHOP_ORDER_HISTORY_COMMENT_EMAIL' => '<a style="color:red;">Комментарий менеджера:</a><a>
  3. Lina

    что то не получается никак , ни в 1, ни во 2 случае.

    со вторым выводит так:

    Добро пожаловать 1 1,

    Статус Вашего заказа No. 136 был изменен.

    Комментарии в Ваших заказах:
    hgnjxfnjdxnjm
    ____________________________________________________________

    Новый статус:

    а нужно что бы комментарий был красного цвета , помогите пожалуйста, не хватает ума ((

    1. merinovkv Автор записи

      Чтобы письмо было раскрашено, нужно, чтобы оно было в формате HTML.
      Попробуйте в админке в общих настройках виртумарта выставить отправку писем в формате HTML.
      Вообще, для отправки писем в Virtuemart есть функция vmMail — посмотреть, как она работает можно в файле administrator/components/com_virtuemart/classes/ps_main.php, строка 537
      Мне кажется, что если поставить в настройках виртумарта Формат письма: HTML и в файле checkout_without_register_form.php, где происходит сама отправка писем (вызов функции vmMail, где-то в районе 550 строки), попробовать поиграть с true/false — должно получиться 🙂
      Вот как-то так выглядит описание этой функции на русском (ps_main.php):
      /**
      * Mail function (используется phpMailer)
      * @param string поле «ОТ», e-mail
      * @param string поле «ОТ», Имя
      * @param string/array e-mail адрес(а) получателя
      * @param string поле «Тема»
      * @param string Тело сообщения
      * @param boolean false = текст, true = HTML
      * @param string/array Копия e-mail(ы)
      * @param string/array Скрытая копия e-mail(ы)
      * @param array Путь к изображению, CID, имя файла, кодирование, MIME
      * @param string/array Имя файлов во вложении
      * @return boolean Удалась ли отправка
      */

Добавить комментарий