В данной статье расскажу как реализовать функционал, который бы позволял пользователям сайта сообщать контент-менеджерам найденные о найденной на сайте ошибке. Ошибка будет высылаться почтовым уведомлением. Интерфейсные окна будут отрисованы с помощью новой JS-библиотеки продукта.[spoiler]
Итак, пользователь находит на сайте ошибку, выделяет текст, нажимает Ctrl+Enter и получает форму:
Вся логика заключена в компоненте feedback.error, который можете скачать здесь.
Т.к. сообщение об ошибке будет отправлено на почту, то потребуется создать новый почтовый тип:
и шаблон к нему:
Всё, после этого механизм должен заработать.
Теперь подробнее (так сказать для разработчиков), что находится в скрипте script.js:
function SendError(event, formElem)
Объявление функции-обработчика, которую мы повесили на <body>
Удачное решение такого плана сделано на kp.ru (при том, что сам сайт довольно-таки безобразный).
Окошко оформлено симпатично и важный нюанс: кроме выделенного фрагмента дан и текст вокруг. Это удобно и для посетителя, и для тех, кто получит сообщение об ошибке.
Ещё одно пожелание: ввести ограничение на размер выделяемого текста. Если лимит превышен, вместо всплываюшего окна давать alert "Выделен слишком длинный текст!"
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».