Настройка писем в VirtueMart 3

Опубликовано: 25 Апрель, 2017
Категория: Настройка VirtueMart
Комментариев: 25

В этой статье разберем настройки всех писем и уведомлений, отправляемых virtuemart.

Настройка почты в Joomla

Если с отправкой писем возникают проблемы, то первым делом нужно проверить общие настройки почты сайта в Система > Общие настройки > Сервер

Если тестовое письмо доходит, то проблема, скорее всего, в virtuemart. Если же не работает даже отправка тестовых писем, то нужно разбираться в общих настройках почты. Часто правильные настройки может подсказать техподдержка хостера.

Лучше использовать email на домене.  Его можно подключить, например, с помощью Яндекса.

Настройка почты в Virtuemart

Virtuemart может отправлять письма в следующих ситуациях:

  • заказ и смена статуса заказа
  • поступление товара на склад
  • рекомендация товара
  • вопрос по товару

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

Настройки отправки писем находятся в  Virtuemart > Настройки > Электронная почта.

Подробнее про каждую из опций.

Формат текстового сообщения - Текстовый или HTML-формат писем для уведомления о заказе. Как правило, используется HTML-формат. Шаблоны для каждого из форматов находятся в разных файлах. Подробнее об этом в следующей части, посвященной редактированию писем.

Использовать адрес эл.почты продавца - Использовать email пользователя, установленного в качестве продавца, или брать email из общих настроек joomla.

Invoice in user language - Счет на языке пользователя.

Статус заказа по умолчанию для создания выписанного счета - Статус заказа, при котором будет отправляется счет-фактура.

Статус заказа по умолчанию для отправки эл.письма покупателю -  Смысл понятен из названия. Можно выбрать несколько статусов.

Статус заказа по умолчанию для отправки эл.письма продавцу - Аналогично предыдущей опции.

Общее почтовое вложение - К уведомлению о заказе для покупателя можно прикрепить медиа файлы, которые должны находиться в папке /images/stories/virtuemart/vendor/. Для прикрепления нескольких файлов укажите их через запятую.

Статус заказа при использовании вложений файлов - Прикрепляет файлы, указанные в предыдущей настройке.

Редактирование шаблона писем о заказе

Несколько лет подряд проблема редактирования шаблона писем о заказе успешно решалась с помощью Email Manager. К сожалению, поддержка компонента давно прекратилась и он уже не совместим с virtuemart 3.2.0 и выше.

В качестве альтернативы стандартному можно использовать платный готовый шаблон от olympianthemes.com, но и для его изменения необходимо править php файлы.

Разберем в общих чертах структуру стандартного шаблона писем, а на какие-то частные вопросы постараюсь ответить в комментариях.

Изменение темы писем

Текст темы писем настраивается в языковых файлах.

Для покупателя в файле /administrator/language/ru-RU/ru-RU.com_virtuemart.ini

Для продавца темы писем пока(virtuemart 3.2.1) не русифицированы и находятся в файле /components/com_virtuemart/language/en-GB/en-GB.com_virtuemart.ini

Для изменения лучше всего переопределить эти языковые константы в Расширения > Менеджер языков > Переопределение констант.

Последняя буква в имени константы соответствует статусу заказа. Посмотреть соответствие буквы и статуса можно в Virtuemart > Настройки > Статусы заказов.

В тексте вместо переменных подставляется соответственно:

  • %1$s - название магазина(в письме продавцу - имя покупателя)
  • %2$s - сумма заказа
  • %3$s - номер заказа

В итоге в файле с переопределенными языковыми константами /language/overrides/ru-RU.override.ini должно получится что-то вроде этого

Файлы шаблона писем

Шаблон писем, как и другие шаблоны virtuemart, лучше переопределить в папке шаблона сайта. Это позволит сохранить все изменения после обновления.

Все файлы, отвечающие за шаблон писем, находятся в папке /components/com_virtuemart/views/invoice/tmpl/. Все файлы, которые будут изменяться, нужно перенести в папку /templates/имя_шаблона/html/com_virtuemart/invoice/. Если такой папки нет, то создайте ее.

HTML-формат

За шаблон писем в этом формате отвечают файлы, имя которых содержит mail_html.

В файле mail_html.php задаются css стили письма и подключаются все необходимые файлы.

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

За вывод шапки письма отвечает файл mail_html_header.php. Выводит лого, информацию о магазине и приветствие для пользователя. Для продавца не используется.

За вывод информации о заказе для покупателя отвечает файл mail_html_shopper.php. 

За вывод шапки письма для продавца отвечает файл mail_html_shopper.php.

Все последующие файлы используются как в письме покупателю, так и в письме продавцу.

За вывод контактной информации отвечает файл mail_html_shopperaddresses.php.

За вывод списка товаров в заказе отвечает файл mail_html_pricelist.php.

За вывод подвала отвечает файл mail_html_footer.php

Текстовый формат

Используется редко. Настраивается в файлах, имя которых содержит mail_raw.

Шаблон для продавца и покупателя одинаковый.

В файле mail_raw_shopper.php выводится информация о заказе.

В файле mail_raw_shopperaddresses.php выводятся контактные данные.

В файле mail_raw_pricelist.php выводится список товаров в заказе.

В файле mail_raw_footer.php выводится информация о магазине.

 

Редактирование шаблона

Ниже несколько примеров кода, которые могут пригодиться при редактировании стандартных шаблонов.

ЧПУ для ссылок в письме

В файле invoice_items.php заменить

на

Удалить иконки способов доставки/оплаты и разделить название и описание способа

В файле invoice_items.php заменить

на

и заменить

на

Ссылка в подвале на главную страницу магазина

В файле mail_html_footer.php заменить

на

Удалить описание магазина

В файле mail_html_footer.php удалить

Редактирование шаблона о поступлении товара на склад

Подробнее про настройку уведомлений покупателей можно прочитать в этой статье.

Шаблоны уведомлений отправляются только покупателю и находятся в файлах:

/components/com_virtuemart/views/productdetails/tmpl/mail_html_notify.php - html формат

/components/com_virtuemart/views/productdetails/tmpl/mail_raw_notify.php - текстовый формат

Для сохранения изменений переопределите их в папке /templates/имя_шаблона/html/com_virtuemart/productdetails/.

В целом шаблон нормальный и изменения понадобятся немногим людям, поэтому подробно останавливаться на нем не будем.

За вывод описания магазина отвечает код

На другие вопросы постараюсь ответить в комментариях.

Редактирование шаблона Рекомендовать другу

Изменить тему письма  можно в файле /language/ru-RU/ru-RU.com_virtuemart.ini

Вместо %s подставляется соответственно имя друга и название товара.

Шаблоны писем находятся в файлах:

/components/com_virtuemart/views/recommend/tmpl/mail_html.php - html формат

/components/com_virtuemart/views/recommend/tmpl/mail_raw.php - текстовый формат

Для сохранения изменений переопределите их в папке /templates/имя_шаблона/html/com_virtuemart/recommend/.

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

Редактирование шаблона Задать вопрос по этому товару

Данный тип писем приходит только продавцу.

Изменить тему письма можно в файле /language/ru-RU/ru-RU.com_virtuemart.ini

Шаблон находится в файлах:

/components/com_virtuemart/views/askquestion/tmpl/mail_html_question.php - html формат

/components/com_virtuemart/views/askquestion/tmpl/mail_raw_question.php - текстовый формат

Дополнения от пользователей

Массовая рассылка писем покупателям

Спасибо пользователю Garmon85

1. Для быстроты рассылки выберите в админке показ по 100 заказов на странице

2. Создадим новый статус заказа и назовем его "Отзыв" указав ему например код "O"

Чтобы поменять заголовок письма, в языковом файле /language/ru-RU/ru-RU.com_virtuemart.ini добавьте новое значение

3. В файле /templates/шаблон/html/com_virtuemart/invoice/mail_html.php сразу после

добавим переопределение шаблона письма

Не забудьте поставить в конце файла закрывающую фигурную скобку

4. Создадим в папке /templates/шаблон/html/com_virtuemart/invoice/ новый файл mail_html_otz.php

Можно делать в нем все, что угодно: хоть просьбу оставить отзыв, хоть новинки магазина, самое главное, что новому шаблону также доступны все переменные из заказа (имя покупателя, заказанный товар и т.д.)

В Virtuemart > Настройки > Электронная почта добавляем новый статус в поле Статус заказа по умолчанию для отправки эл.письма покупателю. 

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

P.S.

Надеюсь, что статья поможет сэкономить время и пригодится в работе.

Если вы хотите поделиться своими шаблонами писем с другими людьми, то пришлите их на admin@virtuemart.su или разместите ссылку в комментарии. Обязательно добавлю их в статью.

25 комментариев

    Evgen54906

    Люди, у кого есть шаблон, поделитесь, пожалуйста!!!!

      admin

      admin

      В статье есть ссылка на готовый шаблон.

    Павел

    Только сегодня сталкнулся с проблемой настройки писем покупателю на сайте клиента и тут раз - и статья по теме! Админу, как всегда, спасибо, за своевременную и хорошо разжеванную информацию!!!

      admin

      admin

      Рад, что статья оказалась полезной.

    Jimichasp

    Спасибо! Ближе к выходным займусь настройкой шаблонов, а то давно уже пора снести Email Manager, но останавливает только одно. Может и подскажите, как решить проблему, из-за которой не хотелось бы удалять EM.
    Помимо уведомлений продавцу и покупателю, Email Manager делает рассылку второго письма (p.s Здравствуйте. Вас приветствует магазин "Рога и Копыта", просим Вас оставить отзыв там и там). Если я его удалю (Email Manager), VirtueMart стандартными средствами сможет также отправлять второе письмо покупателю не о данных заказа, а о той самой "Просьбе с отзывом"?

      admin

      admin

      В конце стать есть способ, предложенный Garmon85, попробуйте его. Других вариантов не встречал.

    Dina

    Я рада, что в качестве примера используется шаблон, который есть и у меня! Давно хотела поменять SKU в письме на фото товара - не подскажете, как это сделать? SKU - это какая то совершенно ненужная информация.

      Garmon85

      вывести фото в шаблон письма
      в файле invoice_items.php после

      вставьте

      в том же файле перед

      добавьте

        DarkBars

        Сделал вывод фото, правда по вашему варианту у меня вывелось в описании товара, но переставилось в колонку, где был артикул - без проблем. Но возникла другая проблема. Потребителю все картинки приходят нормально, а вот администратору картинки, в названии которых есть пробел, приходят битыми. В чем может быть причина?

    7Hogik

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

      admin

      admin

      В ближайшее время не планировал.

    Сергей

    Доброго времени суток! Вирт 3, столкнулся с проблемой в письме приходит только способ оплаты и не приходит способ доставки (не надписи не картинки) приходится каждый раз заходить в админ панель виртуемарта в заказ и смотреть там ((
    Помогите пожалуйста?

      admin

      admin

      Здравствуйте!
      Используется стандартные письма virtuemart?
      Уточните версию virtuemart.
      В шаблон писем вносились какие-то изменения?

        Сергей

        Для полноты картины Joomla! 3.4.3 - VirtueMart 3.0.9.4
        Нет, в шаблон писем никаких изменений не вносил... Может там где по умолчанию какая то заглушка стоит? Подскажите пожалуйста где посмотреть и какой код должен быть?
        До этого чуть более раннюю версию виртуемарт 3 устанавливал на другой сайт, такая же проблема была. (там тоже все стандартное было) Но там проблему решили перейдя на другой эл. магазин...

          admin

          admin

          В файле /components/com_virtuemart/views/invoice/tmpl/invoice_items.php доставка выводится кодом

          Возможно, дело в сторонних плагинах. Для доставки используется стандартный или сторонние плагины?

            СЕРГЕЙ

            Все стандартное, никаких сторонних плагинов не должно быть...
            Вот пот полный код который в этом файле:

            orderDetails['shipmentName'] ?>

            currency->priceDisplay($this->orderDetails['details']['BT']->order_shipment_tax, $this->currency) ?>

            currency->priceDisplay($this->orderDetails['details']['BT']->order_shipment + $this->orderDetails['details']['BT']->order_shipment_tax, $this->currency); ?>

            admin

            admin

            Удаленно трудно сказать, нужно смотреть на сайт и на файлы.
            Пожалуйста, обратитесь на фриланс.

    DarkBars

    День добрый!
    Редактировал шаблон письма, но по части вещей, так и не разобрался где править:
    1. В header'е запятая после имени, хотел ее убрать или заменить на "!".
    2. Нужно убрать отображение адреса в столбце "Контакты" и оставить его только в столбце "Адреса доставки" и саму надпись поправить на "Адрес доставки".
    3. Необходимо выделить жирным названия способа оплаты и доставки, а также сделать перевод строки после названия, чтобы описание шло уже строкой ниже.
    Можете подсказать как эти вещи поправить?

      admin

      admin

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

      1. Создайте новую языковую константу

      с текстом

      2. Создайте новую языковую константу

      с текстом

      В файле /components/com_virtuemart/views/invoice/tmpl/mail_html_shopperaddresses.php замените

      на

      Код сработает если адрес выводиться в поле address_1

      3. В файле /components/com_virtuemart/views/invoice/tmpl/invoice_items.php для выделения жирным замените

      на

      и замените

      на

        DarkBars

        Спасибо! Но не все сработало:
        1. Помогло
        2. Помогло, только при замене в /templates/имя_шаблона/html/com_virtuemart/invoice/mail_html_shopperaddresses.php, в указанном вами файле, замена не помогла.
        3. Не помогло. Пробовал заменить и в указанном вами файле и в /templates/имя_шаблона/html/com_virtuemart/invoice/invoice_items.php по аналогии:

        DarkBars

        3. Попробовал заменить в /templates/имя_шаблона/html/com_virtuemart/invoice/invoice_items.php чуть-чуть иначе:

        В итоге жирным выделился весь текст (название способа оплата + описание способа оплаты).

        DarkBars

        Получилось решить (правда не совсем красивым способом), может кому пригодится.

        Заменил в /templates/имя_шаблона/html/com_virtuemart/invoice/invoice_items.php:

        на

        В итоге мы получаем что название способа доставки выделяется жирным + описание способа доставки переносится на следующую строку.

        Если перенос на следующую строку не нужен, то убираем тег , если не нужно выделение жирным, а только перенос то убираем тег и везде

          admin

          admin

          Спасибо, что поделились решением.

    Glog

    Здравствуйте, подскажите в каком файле редактировать счет-фактура?
    Хочу изменить вид файла который открывается после нажатия на кнопку печати накладных (https://image.prntscr.com/image/GSyFL_EbQdK4xIwxVv-W9Q.png)

      admin

      admin

      Здравствуйте!
      Попробуйте внести правки в файле /components/com_virtuemart/views/invoice/tmpl/invoice_order.php

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
Для вставки кода заключите его в теги [php] [/php]
*