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

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

Если тестовое письмо доходит, то проблема, скорее всего, в 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/invoice/tmpl/invoice_items.php после кода вывода названия товара

Добавьте

Для вывода суммарного веса всех товаров в том же файле перед

добавьте

После кода вывода веса товара добавьте

Перед кодом

Добавьте

Добавить изображение товара в письмо

Для показа изображения товара в письме в файле /components/com_virtuemart/views/invoice/tmpl/ перед выводом названия товара

Добавьте