ddSendFeedback

Snippet
  • Версия: 1.10
  • Выпущено:
  • Метки: General
  • Использует:
Скачать 545 скачиваний

Описание

Сниппет для отправки сообщений обратной связи от пользователей на необходимый email. Удобно использовать при отправке через ajax. Особенности:

  • Отправка писем от email, указанного пользователем, а не от системного email (см. параметр «from_formField»);
  • Получение адреса почты, на который нужно отправлять из поля (или TV) документа (см. параметры «email_docField» и «email_docId»);
  • Поддержка вложений файлов в email (см. параметр «filesFields»).

К примеру, отправка обратной связи на этом сайте реализована при помощи этого сниппета.

Список изменений

  • Добавлена возможность передавать дополнительные данные в шаблон письма (см. параметр «tpl_placeholders»).
  • Используется короткий синтаксис объявления массивов. Это удобней и проще для визуальной идентификации.
  • Внимание! Сниппет теперь использует PHP ≥ 5.4.
  • Небольшие изменения стиля кода.

Документация

Из каждой пары параметров «email» / «email_docField» и «tpl» / «text» необходимо передавать лишь один.

Возвращает строку в формате JSON — объект со следующими полями:

{
	// Статус отправки (true или false).
	status: true,
	// Заголовок сообщения (из параметра «result_titleSuccess» / «result_titleFail» 
	// в соответствии со статусом отправки).
	title: "title",
	// Сообщение (из параметра «result_messageSuccess» / «result_messageFail» 
	// в соответствии со статусом отправки).
	message: "message"
}

Описание параметров

Название Описание Допустимые значения Значение по умолчанию
email * Адреса почты, на которые необходимо отправить сообщение. Каждому отправляется своя копия, чтобы в списке получателей не мусорить {string: commaSeparated}
email_docField Имя поля документа (или TV), значение которого необходимо получить (содержащего адрес почты). {string}
email_docId ID документа, значение поля которого нужно получить (содержащего адрес почты). {integer}
tpl * Шаблон письма (имя чанка).

Доступные плэйсхолдеры: [+docId+] — id документа, с которого был сделан запрос и все переменные из массива $_POST. Для генерации ссылки на документ, с которого был отправлен запрос используйте http://code.divandesign.ru/[~[+docId+]~] (http://code.divandesign.ru/ здесь необходим, т.к. ссылки в письмах должны быть абсолютными).
{string: chunkName}
tpl_placeholders Дополнительные данные в виде query string которые будут переданы в шаблон письма «tpl».

Например: «pladeholder1=value1&pagetitle=My awesome pagetitle!». Массивы также поддерживаются:

  • «some[a]=one&some[b]=two» => «[+some.a+]», «[+some.b+]»;
  • «some[]=one&some[]=two» => «[+some.0+]», «[some.1]».
{string: queryStringFormat}
text Текст сообщения, если передан, шаблоны игнорируются. Удобно использовать при запуске сниппета через $modx->runSnippets(). {string}
subject Тема письма. {string} 'Обратная связь'
from От кого письмо (email отправителя). {string} 'info@divandesign.biz'
from_formField Элемент массива $_POST с email отправителя. Если задано (и значение не пустое), то параметр «from» игнорируется. {string}
filesFields Имена тегов input из которых необходимо брать файлы для отправки, разделённые через запятую. Используется, в случае если в запросе передаются ещё и файлы (массив $_FILES). {string: commaSeparated}
result_titleSuccess Заголовок, который будет возвращён, если отправка письма прошла успешно (поле «title» результирующего JSON). {string} 'Заявка успешно отправлена'
result_titleFail Заголовок, который будет возвращён, если отправка письма по какой-то причине не удалась (поле «title» результирующего JSON). {string} 'Непредвиденная ошибка =('
result_messageSuccess Сообщение, которое будет возвращено, если отправка письма прошла успешно (поле «message» результирующего JSON). {string} 'Наш специалист свяжется с вами в ближайшее время.'
result_messageFail Сообщение, которое будет возвращено, если отправка письма по какой-то причине не удалась (поле «message» результирующего JSON). {string} 'Во время отправки заявки что-то произошло.< br />Пожалуйста, попробуйте чуть позже.'