Поиск
Искать в:
Все решения  
  • Все решения
  • Интернет-магазины
    • Аспро: Шины и диски 2.0
    • Аспро: Next
    • Аспро: Оптимус
    • Аспро: Шины и диски, интернет-магазин
    • Аспро: Интернет-магазин
    • Аспро: Крутой шоп
    • Аспро: Маркет
  • Корпоративные сайты
    • Аспро: Приорити
    • Аспро: Корпоративный сайт 2.0
    • Аспро: Ландшафт
    • Аспро: Медицинский центр 2.0
    • Аспро: Digital-компания
    • Аспро: Курорт
    • Аспро: Стройка
    • Аспро: Сайт медицинского центра
    • Аспро: Корпорация
    • Аспро: Корпоративный сайт
    • Аспро: Корпоративный сайт современной компании
  • Модули
    • Аспро: Шинный калькулятор
    • Аспро: Кредитный калькулятор
    • Аспро: Универсальный импорт
  • 1С-Битрикс
    • Общее

Как настроить почтовые уведомления о новых отзывах в карточке товара?

ID статьи: 106 , создана 23 Авг 2016 , последнее исправление  14 Мар 2019
Необходимо, чтобы администратор получал на почту уведомления о новых отзывах в карточке товара и имел возможность их модерировать (удалять и публиковать).

Решение

Настройте форум для публикации отзывов и создайте почтовое событие.


Шаг 1

В административной части сайта перейдите в настройки списка форумов: Рабочий стол → Сервисы → Форумы → Список форумов. Выберите форум, настроенный на вашем сайте на публикацию и хранение отзывов (скорее всего, он будет в списке единственный) и войдите в режим редактирования через кнопку «гамбургер» и пункт «Изменить». Если у вас не создано ни одного форума для отзывов, создайте его с помощью инструкции.


Переключитесь на вкладку «Настройки». В поле «Модерация» поставьте галочку в пункте «Премодерируемый».


Это позволит публиковать отзывы не напрямую, а после одобрения администратора.


Шаг 2

Создаем для начала новый тип почтового события.

Перейдите в Рабочий стол → Настройки → Настройки продукта → Почтовые события → Типы почтовых событий. Нажмите кнопку «Добавить тип».


Тип почтового события пропишите как NEW_ITEM_REVIEW. В описание вставьте следующий код:

#ITEM_NAME# – товар получивший отзыв
#AUTHOR_NAME# – автор
#POST_DATE# – дата
#POST_MESSAGE# – отзыв
#PATH2ITEM# – относительная ссылка


Теперь создаем новый почтовый шаблон для этого события.

Перейдите в Рабочий стол → Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны. Нажмите кнопку «Добавить шаблон».


В настройках нового шаблона пропишите следующие настройки:

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

  • Выберите тип почтового события из списка. В нашем случае это новый отзыв к товару (так мы назвали новое почтовое событие) [NEW_ITEM_REVIEW] (этот тип мы присвоили событию).

  • Пропишите в полях «От кого» и «Кому» соответствующие адреса электронной почты или специальные коды:
    от кого: #DEFAULT_EMAIL_FROM#
    кому: #DEFAULT_EMAIL_FROM#.
    В случае с кодами адреса будут генерироваться автоматически в зависимости от настроек сайта и внесенных данных

  • Пропишите с поле «Тема» следующую фразу: #SITE_NAME# и новый отзыв к товару #ITEM_NAME#.
    Вместо кодов в готовом письме пропишутся название сайта и название товара

  • В поле «Сообщение» вставьте следующий текст:
    Информационное сообщение с сайта #SITE_NAME#
    <br>
    <hr>
    Добавлен новый отзыв к товару:
    <br>
    #ITEM_NAME#
    <hr>
    Содержание:
    <br>
    автор: #AUTHOR_NAME#
    <br>
    отзыв: #POST_MESSAGE# 
    <br>
    ссылка на товар: https://#SERVER_NAME##PATH2ITEM# 

Или создайте свой, используя эти метки. 


Запомните ID шаблона (он еще понадобится нам в дальнейшем). В нашем случае он равен 78.


Шаг 3

Отредактируйте файл init.php, добавив в него фрагмент кода. 

Внимание! Файл init.php редактируется только по ftp/ Если его нет, то создайте его также по ftp. Редактирование кода файла через структуру сайта может привести к падению всего сайта.

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


Далее сформируйте код для вставки в файл.

<?function notifyNewItemFeedback($ID, $arFields){
ob_start();
$res = CIBlockElement::GetList(
array(),
array(
'IBLOCK_ID' => id_инфоблока_каталога,
'PROPERTY_FORUM_TOPIC_ID' => $arFields["TOPIC_ID"]
),
false,
false,
array('*', 'IBLOCK_ID', 'ID', 'NAME', 'PROPERTY_FORUM_TOPIC_ID', 'SECTION_ID', 'SECTION', 'SECTIONS')
);
if($ar_res = $res->GetNext()){
var_dump(date('d.m.Y H:i:s'));
echo 'найден товар '.$ar_res['NAME'];
$TYPE_MAIL_EVENT = 'NEW_ITEM_REVIEW';
var_dump($ar_res);
$arMail = array(
'ITEM_NAME' => $ar_res['NAME'],
'AUTHOR_NAME' => $arFields['AUTHOR_NAME'],
'POST_DATE' => date('d.m.Y H:i:s'),
'POST_MESSAGE' => $arFields['POST_MESSAGE'],
'PATH2ITEM' => $ar_res['DETAIL_PAGE_URL'],
);
var_dump($arMail);
$ID_MAIL_EVENT = id_почтового_шаблона;
$ok = CEvent::Send($TYPE_MAIL_EVENT, "id_сайта", $arMail, $ID_MAIL_EVENT);
if ($ok){
echo 'Сообщение отправлено';
}
else{
'Сообщение не отправлено '.$ok;
}
}
else{
echo 'Элемент не найден.';
$dump = ob_get_clean();
if (!empty($ok)){
return true;
}
else{
$filename = dirname(__FILE__).'/dump.txt';
if (!file_exists($filename)){
$f = fopen($filename, 'w+');
fclose($f);
} 
file_put_contents($filename, $dump);
}
}
}
AddEventHandler("forum", "onAfterMessageAdd", "notifyNewItemFeedback"); ?>

Где:

  • id_инфоблока – id действующего инфоблока каталога
  •  id_шаблона – id нашего нового почтового шаблона, созданного на предыдущем этапе (шаг 2)
  •  id_сайта – номер сайта для которого вы настраиваете почтовые уведомления о новых отзывах. 

    Посмотреть id сайта можно в настройках списка сайтов: Настройки → Настройки продукта → Сайты → Список сайтов. В нашем случае id сайта равняется s1. 


Чтобы узнать ID инфоблока каталога, перейдите в Рабочий стол → Контент → Инфоблоки → Типы инфоблоков → Каталог. На вкладке «Инфоблок» вы найдете значение ID. Это значение и нужно вставить в код. В нашем случае ID = 13.


ID почтового шаблона, как мы выяснили ранее, равен 78.  

Новый код примет следующий вид:

<? function notifyNewItemFeedback($ID, $arFields){
ob_start();
$res = CIBlockElement::GetList(
array(),
array(
'IBLOCK_ID' => 13,
'PROPERTY_FORUM_TOPIC_ID' => $arFields["TOPIC_ID"]
),
false,
false,
array('*', 'IBLOCK_ID', 'ID', 'NAME', 'PROPERTY_FORUM_TOPIC_ID', 'SECTION_ID', 'SECTION', 'SECTIONS')
);
if($ar_res = $res->GetNext()){
var_dump(date('d.m.Y H:i:s'));
echo 'найден товар '.$ar_res['NAME'];
$TYPE_MAIL_EVENT = 'NEW_ITEM_REVIEW';
var_dump($ar_res);
$arMail = array(
'ITEM_NAME' => $ar_res['NAME'],
'AUTHOR_NAME' => $arFields['AUTHOR_NAME'],
'POST_DATE' => date('d.m.Y H:i:s'),
'POST_MESSAGE' => $arFields['POST_MESSAGE'],
'PATH2ITEM' => $ar_res['DETAIL_PAGE_URL'],
);
var_dump($arMail);
$ID_MAIL_EVENT = 78;
$ok = CEvent::Send($TYPE_MAIL_EVENT, "s1", $arMail, $ID_MAIL_EVENT);
if ($ok){
echo 'Сообщение отправлено';
}
else{
'Сообщение не отправлено '.$ok;
}
}
else
echo 'Элемент не найден.';
$dump = ob_get_clean();
if (!empty($ok)){
return true;
}
else{
$filename = dirname(__FILE__).'/dump.txt';
if (!file_exists($filename)){
$f = fopen($filename, 'w+');
fclose($f);
} file_put_contents($filename, $dump);
}
}
AddEventHandler("forum", "onAfterMessageAdd", "notifyNewItemFeedback"); ?>

Теперь код необходимо скопировать и вставить в файл init.php. Для этого

перейдите в Рабочий стол → Контент → Структура сайта → Файлы и папки → bitrix → php_interface. Найдите файл init.php,нажмите кнопку «гамбургер» рядом с ним и выберите пункт «Редактировать как PHP».



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




  • Комментарии
Загрузка комментариев...

Тэги

cdn custom.css footer.php google maps Google Mobile Friendly Websites SEO seo sku template.php title автокомпозит авторизация адаптивная верстка адаптивность таблиц адаптивные таблицы аксессуары активация 1С-Битрикс акции артикул товара баннеры бета-версия бренды быстрый заказ видео виджет вкладки выводить описание выводить услуги без разделов главная страница заголовки заголовки на главной заголовок блока «Характеристики» изменить заголовки на главной изменить порядок вывода изменить порядок картинок изображения Интернет-магазин капча карта карта сайта карточка товара каталог товаров каталог услуг классы стилей кодировка количество товара композит корзина левое меню личный кабинет логотип магазины маска телефона медиабиблиотека меню местоположения мобильная платформа модули модуль настроек название сайта наличие товара настройка валют настройка веб-форм настройка инфоблоков настройка компонентов настройка свойств настройки доступа настройки инфоблока настройки магазина настройки модулей настройки раздела нет в наличии новости номера обновление платформы обновление решения обратный звонок ограничения округление скидок описание описание товаров основной баннер отзывы отзывы о товаре отображение свойств отображение товаров отсутствующие товары отсутствующие товары на складах оформление заказа переиндексация переустановка решения персональные рекомендации платежные системы подразделы каталога поиск покупка в 1 клик поля популярные категории похожие товары почтовые уведомления права доступа премодерация привязать товары проекты разработчикам регистрация резервное копирование свойства заказа свойства инфоблока свойства раздела свойства товара свойства торгового предложения связанные товары символьный код скидки скидки на товар скорость загрузки сайта скрывать текст бренда скрыть товары в поиске сортировка социальные сервисы список пользователей способы доставки сравнение товаров статистика Стикеры структура сайта тайтл текст в летающей корзине тизеры тип цен типы цен торговые предложения умный фильтр услуги установка решения файлы и папки фасетные индексы фиксированная шапка на мобильном форма задать вопрос формы формы на инфоблоках формы обратной связи форум хлебные крошки цен чпу элементы в разделе элементы навигации