Обратная связь

Модуль позволяет пользователям оставлять сообщения на сайте и отвечать отправителям в административной части модуля. Модуль относится к части CMS «Интерактив» и может быть установлен опционально.

Модуль «Обратная связь» можно присоединить к различным страницам сайта. Если модуль прикреплен к нескольким страницам, в административной части модуля выводится фильтр «Раздел сайта», позволяющий отобразить сообщения и настройку модуля для одной страницы.

Сообщения

Список сообщений

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

Редактирование сообщения

Модуль имеет следующие характеристики.

Основные:

  • Дата – Дата поступления сообщения в формате дд.мм.гггг чч:мм.
  • Раздел сайта – Принадлежность к странице сайта.
  • Язык интерфейса – Языковая версия сайта, на которой находился пользователь, когда писал сообщение.
  • Страница, с которой отправлено сообщение – Полный адрес страницы, с которой пользователь отправил сообщение.
  • Автор – Пользователь, создавший сообщение в форме на сайте.
  • Конструктор формы – Поля, добавленные в конструкторе формы.
  • Отправить ответ – Возможность отправить ответ на e-mail, указанный пользователем. Содержание письма, а также e-mail, указываемый в обратном адресе можно редактировать в настройках модуля. Письмо не может быть отправлено, если не заполнено текстовое поле для ответа или e-mail получателя. Поле «Отправить ответ» появляется, если в конструкторе формы есть поле с типом «электронный ящик».
  • Отвечающий – Пользователь, первый отредактировавший или создавший сообщение в административной части.
  • Ответ – Текстовое поле для ответа.

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

Если есть дополнительно поле с типом электронный ящик, то в административной части можно ответить на сообщение, отправив письмо на указанный ящик. Тема письма, содержание и обратный адрес настраиваются в конфигурации модуля.

Конструктор формы

Список полей

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

Конструктор – это дополнительные поля формы обратной связи. Можно добавлять поля общие (для всех разделов) или присваивать поле отдельной форме на отдельной странице.

Редактирование
поля

Дополнительные поля имеют следующие параметры.

Основные:

  • Название – Параметр имеет разные значения для разных языковых версий сайта.
  • Раздел сайта – Принадлежность к странице сайта.
  • Сортировка: установить перед – Редактирование порядка следования характеристики в списке
  • Обязательно для заполнения.
  • Тип – Возможные значения:
    • строка,
    • число,
    • дата,
    • дата и время,
    • текстовое поле,
    • галочка,
    • переключатель,
    • выпадающий список,
    • список с выбором нескольких значений,
    • электронный ящик,
    • телефон,
    • заголовок группы характеристик,
    • файлы,
    • изображения.
  • Максимальное количество добавляемых файлов – Количество добавляемых файлов. Если значение равно нулю, то форма добавления файлов не выводится. Параметр выводится, если тип характеристики задан как «файлы».
  • Доступные типы файлов (через запятую) – Параметр выводится, если тип характеристики задан как «файлы».

    Пример:

    doc, gif, jpg, mpg, pdf, png, txt, zip
  • Распознавать изображения – Позволяет прикрепленные файлы в формате JPEG, GIF, PNG отображать как изображения. Параметр выводится, если тип характеристики задан как «файлы».
  • Размер для большого изображения – Размер изображения, отображаемый в пользовательской части сайта при увеличении изображения предпросмотра. Параметр выводится, если тип характеристики задан как «файлы» и отмечена опция «Распознавать изображения».
  • Размер для маленького изображения – Размер изображения предпросмотра. Параметр выводится, если тип характеристики задан как «файлы» и отмечена опция «Распознавать изображения».
  • Использовать анимацию при увеличении изображений – Параметр добавляет JavaScript код, позволяющий включить анимацию при увеличении изображений. Параметр выводится, если отмечена опция «Распознавать изображения». Параметр выводится, если тип характеристики задан как «файлы» и отмечена опция «Распознавать изображения».
  • Максимальный размер загружаемых файлов – Параметр показывает максимально допустимый размер загружаемых файлов, установленный в настройках хостинга. Параметр выводится, если тип характеристики задан как «файлы».
  • Генерировать размеры изображений – Размеры изображений, заданные в модуле «Изображения». Параметр выводится, если тип характеристики задан как «изображение».
  • Значения – Появляется для полей с типом «галочка», «выпадающий список» и «список с выбором нескольких значений»
  • Описание – Параметр имеет разные значения для разных языковых версий сайта.

Если выбран тип «выпадающий список» или «список с выбором нескольких значений», то появятся дополнительные поля со значениями.

Настройки

Настройки

  • Использовать защитный код (капчу) – Для добавления сообщения пользователь должен ввести защитный код.
  • Сообщение после отправки – Сообщение, получаемое пользователем при удачной загрузки вопроса, допускаются HTML-теги для оформления сообщения. Параметр имеет разные значения для разных языковых версий сайта.

    Пример:

    <div align="center"><b>Спасибо за ваше сообщение!</b></div>
  • Тема письма для ответа – Можно добавлять:
    • %title – название сайта,
    • %url – адрес сайта (например, site.ru).
    Параметр имеет разные значения для разных языковых версий сайта.

    Пример:

    %title (%url). Обратная связь
  • Сообщение для ответа – Можно добавлять:
    • %title – название сайта,
    • %url – адрес сайта (например, site.ru),
    • %message – сообщение,
    • %answer – ответ.
    Параметр имеет разные значения для разных языковых версий сайта.

    Пример:

    Здравствуйте!<br>Вы оставили сообщение в форме обратной связи на сайте %title (%url).<br><b>Сообщение:</b> %message <br><b>Ответ:</b> %answer.
  • E-mail, указываемый в обратном адресе пользователю – Возможные значения:
    • e-mail, указанный в параметрах сайта;
    • другой (при выборе этого значения появляется дополнительное поле впишите e-mail).
  • Уведомлять о поступлении новых сообщений на e-mail – Возможность уведомления администратора о поступлении новых сообщений из формы в пользовательской части сайта.
  • E-mail для уведомлений администратора – Возможные значения:
    • e-mail, указанный в параметрах сайта;
    • другой (при выборе этого значения появляется дополнительное поле впишите e-mail).
    Параметр появляется, если отмечена опция «Уведомлять о поступлении новых сообщений на e-mail».
  • Тема письма для уведомлений – Можно добавлять:
    • %title – название сайта,
    • %url – адрес сайта (например, site.ru).
    Параметр появляется, если отмечена опция «Уведомлять о поступлении новых сообщений на e-mail».

    Пример:

    %title (%url). Новое сообщение в рубрике Обратная связь
  • Сообщение для уведомлений – Можно добавлять:
    • %title – название сайта,
    • %url – адрес сайта (например, site.ru)
    • %message – вопрос.
    Параметр появляется, если отмечена опция «Уведомлять о поступлении новых сообщений на e-mail».

    Пример:

    Здравствуйте, администратор сайта %title (%url)!<br>В рубрике Обратная связь появилось новое сообщение:<br>%message.
  • Уведомлять о поступлении новых сообщений по SMS – Возможность отправлять SMS администратору при поступлении сообщения. Параметр можно подключить, если в Параметрах сайта настроены SMS-уведомления.
  • Номер телефона в федеральном формате – Номер телефона для SMS-уведомлений администратора о новом сообщении. Параметр появляется, если отмечена опция «Уведомлять о поступлении новых сообщений по SMS».
  • Сообщение для уведомлений – Текст сообщения для SMS-уведомлений администратора о новом сообщении. Не более 800 символов. Параметр появляется, если отмечена опция «Уведомлять о поступлении новых сообщений по SMS».
  • Отдельный пункт в меню администрирования для каждого раздела сайта – Если модуль подключен к нескольким страницам сайта, отметка данного параметра выведет несколько пунктов в меню административной части для удобства быстрого доступа (администратору сайта).

Шаблонные теги

Для работы с модулем «Обратная связь» служат следующие шаблонные теги:

show_form – выводит форму добавления сообщения. Для правильной работы тега должна существовать страница, к которой прикреплен модуль Обратная связь.

Атрибуты:

site_id – страница, к которой прикреплен модуль, по умолчанию выбирается одна страница;

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/feedback/views/feedback.view.form_template.php; по умолчанию шаблон modules/feedback/views/feedback.view.form.php).

Пример:

<insert name="show_form" module="feedback" site_id="12" template="modal">

выведет форму добавления сообщения с использованием шаблона feedback.view.form_modal.php со страницы сайта (ID 12), к которой прикреплён модуль "Обратная связь". Таким способом можно размещать формы в любом месте на сайте без привязки к конкретной странице, в т.ч. во всплывающих/модальных окнах.

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

База данных

{feedback} – Сообщения из обратной связи

{feedback_param} – Поля конструктора формы обратной связи

{feedback_param_element} – Значения полей конструктора формы обратной связи, заполненные в сообщении

{feedback_param_select} – Варианты значений полей конструктора с типом список

Файлы

  1. modules/feedback/admin/feedback.admin.php – редактирование сообщений из формы обратной связи;

  2. modules/feedback/admin/feedback.admin.config.php – настройки модуля;

  3. modules/feedback/admin/feedback.admin.count.php – количество неотвеченных сообщений из формы обратной связи для меню административной панели;

  4. modules/feedback/admin/feedback.admin.dashboard.php – сообщения обратной связи для событий;

  5. modules/feedback/admin/feedback.admin.param.php – конструктор формы обратной связи;

  6. modules/feedback/feedback.php – контроллер;

  7. modules/feedback/feedback.action.php – обработка POST-запроса;

  8. modules/feedback/feedback.install.php – установка модуля;

  9. modules/feedback/feedback.model.php – модель;

  10. modules/feedback/views/feedback.view.form.php – шаблон формы добавления сообщения в обратной связи;

  11. modules/feedback/views/feedback.view.images.php – шаблон вывода прикрепленных к сообщению изображений.

Ваши комментарии и дополнения
06 ноября 2015 г.
Как через админку выбрать шаблон формы обратной связи для определённой страницы? По умолчанию используется шаблон modules/feedback/views/feedback.view.form.php для всех страниц, к которым прикрепили модуль обратной связи. А надо, чтобы для одной страницы модуль отображался по одному шаблону, для другой страницы по другому шаблону, как это реализовать?
08 ноября 2015 г.
Шаблон формы можно задать только для шаблонного тега в этом модуле. В административной части нет выбора шаблона.
23 января 2016 г. , редакция: 23 января 2016 г.

Есть какой то стандартный механизм добавления НЕСКОЛЬКИХ форм на одну и туже страницу
Или это дело можно реализовать только через model или action модуля?
При добавлении нескольких форм выводятся все поля для данной страницы во всех формах.
По идее вы должны были добавить атрибут как например template или site_id в котором можно было указывать нужные поля для разных форм
23 января 2016 г.
Так есть же атрибут site_id. Задаете его в шаблонном теге и выводите любую из форм. Хоть несколько форм на одной странице можно вывести, используяю нестолько тегов с разными site_id.
23 января 2016 г. , редакция: 23 января 2016 г.
Вы меня не поняли несколько форм я могу вывести - я не могу вывести те поля которые мне надо.
Мне надо несколько форм на главной вывести у них у всех site_id = 1 и поля разные.
Когда я их вывожу выводятся все поля в одной форме. Как сделать так чтобы выводились только те поля которые нужно?
Например только имя, фамилия, email
Я так понял этого функционала просто нету
23 января 2016 г.
Я так понял Diafan позволяет создавать несколько форм на одной странице только если у них site_id разный.
Иначе никак нельзя.
На мой взгляд это не логично создавать дополнительные страницы чтобы добавить форму.
09 сентября 2016 г.
Как добавить текстовое поле, которое на сайте должно быть скрыто, а в админке показано значение скрытого поля?
10 сентября 2016 г.
Антон, из коробки такой возможности не предусмотрено. Вы можете сделать опцию "Выводить в форме" (например show_in_form) для полей (http://www.diafan.ru/dokument/full-manual/examples/new-field/). И там где запрашиваются поля добавить:

Код
$this->result["rows"] = $this->get_params(array("module" => "feedback", "where" => "site_id=".$site_id." AND show_in_form='1'"));



Ну или просто в шаблоне добавьте:

Код
if($row["id"] == 15) continue;


Это в цикле по характеристикам. Где 15 - это ид поля, которое выводить не нужно.
15 ноября 2018 г.
Подскажите пожалуйста как реализовать в уведомлениях администратора не только url сайта, но и страницы откуда отправлено? Очень не хватает....
15 ноября 2018 г.
Это поле очень давно передается в обратную связь. Полный адрес страницы, откуда отправили сообщение.
Скорее всего, у Вас старая версия. Обновитесь
04 апреля 2019 г.
Виталий, а название страницы, откуда отправлен запрос можно как-то прописать в письме администратору?
28 января 2020 г.
Как можно расширить количество параметров для ответных писем? Я имею ввиду, таких как %title, %url ...Если мне необходимо в ответном письме выводить все данные которые заполнили в форме обратной связи.
28 января 2020 г.
Цитата
Как можно расширить количество параметров для ответных писем? Я имею ввиду, таких как %title, %url

/modules/feedback/feedback.action.php
send_mail()
Цитата
Если мне необходимо в ответном письме выводить все данные которые заполнили в форме обратной связи.

Они и так приходят, это маска %message, там все параметры формы из конструктора полей
28 января 2020 г. , редакция: 29 января 2020 г.
А как отдельно вывести только, например, имя ? Помогите, не получается!
30 января 2020 г. , редакция: 30 января 2020 г.
Цитата
А как отдельно вывести только, например, имя ? Помогите, не получается!

Вы если бы хоть чуть-чуть знали РНР и умели программировать, вот этой информации хватило бы за глаза:
Цитата
/modules/feedback/feedback.action.php
send_mail()

Код
$message = str_replace(
array('%title', '%url', '%message'),
array(
TITLE,
BASE_URL,
$this->message_admin_param
)

Прекрасно же видно, что это единственное место при отправке письма, в котором идет замена масок типа %message на нужные значения, в случае с сообщением это $this->message_admin_param, массив значений конструктора полей, глобальная переменная, заполняется в /includes/action.php. И как таковое "Имя" в системе не существует, в форме же конструктор полей, который можно изменить, добавить/удалить.

Поэтому найти в массиве "Имя" можно чисто по названию, или по id поля "Имя" (id можно узнать в админке, когда поля создаете, видно). И делать это можно или в $this->message_admin_param или смотреть _POST, тоже достаточно. Сделайте print_r(); exit; и при отправке сообщения в консоли увидите всё, что передается в action.

Далее останется только для этой переменной и добавить маску в
Код
$message = str_replace(
array('%title', '%url', '%message', '%name'),
array(
TITLE,
BASE_URL,
$this->message_admin_param,
$элемент_массива_с_именем,
)

Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.