Вопрос-Ответ

Модуль позволяет пользователям задавать вопросы на сайте, а администратору публиковать ответы на эти вопросы с возможностью отправки ответа на e-mail пользователя, задавшего вопрос.

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

Модуль «Вопрос-Ответ» можно прикреплять к различным страницам сайта. Если модуль прикреплен к нескольким страницам, в административной части модуля появляется специальный фильтр «Раздел сайта» с возможностью фильтрации вывода (списка вопросов, категорий и настроек) по принадлежности к странице.
Модуль состоит из 2х частей: категории вопросов и вопросы-ответы.

Категории

Категории вопросов могут иметь неограниченное число подкатегорий. При необходимости категории можно не использовать. Для этого нужно отключить параметр «Использовать категории» в конфигурации модуля.

Если перед названием категории имеется знак +, то этой категории принадлежат подкатегории. Добавить подкатегорию к категории можно, нажав на знак рядом с названием категории.

Порядок отображения категорий можно менять с помощью мыши, просто перетаскивая их.

Кнопка служит для удаления категории. Кнопка служит для быстрой публикации категории (или, наоборот, блокирования). При удалении категории удаляются все вложенные подкатегории и вопросы.

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

Основные:

  • Название;

  • Показывать на сайте;

  • Показывать в меню – добавляет ссылку в меню согласно структуре сайта. Подробнее смотрите в разделе модуль «Меню на сайте»;
  • Анонс – краткое описание категории, для публикации в списке;

  • Описание – описание категории.

Дополнительные:

  • Номер – номер категории;

  • Время последнего изменения – выводится в заголовке Last modify;

  • Заголовок окна в браузере, тэг Title – если не заполнен, тег title будет автоматически сформирован из Названия категории - Названия категории - Названия сайта;

  • Ключевые слова, тэг Keywords – ключевые слова для мета-тега «keywords», используется для поисковой оптимизации;

  • Описание, тэг Description – описание для мета-тега «description», используется для поисковой оптимизации;

  • Псевдоссылка – ссылка на страницу категории будет генерироваться следующим образом: http://www.site.ru/псевдоссылка/. Если псевдоссылка не указана адрес страницы будет: http://www.site.ru/псевдоссылка_страницы/catНомер_категории/. При добавлении псевдоссылки к ней автоматически прикрепляется псевдоссылка страницы. При редактировании можно это исправить;

  • Вложенность: принадлежит – категория верхнего уровня;

  • Раздел сайта – принадлежность к странице сайта;

  • Сортировка: установить перед – редактирование порядка отображения пункта. Поле доступно для редактирования только для элементов, отображаемых на сайте;

  • Не показывать на карте сайта – скрывает отображение ссылки на категорию в файле sitemap.xml и модуле «Карта сайта».

Если в конфигурации модуля включен параметр «Показывать комментарии к категориям», то при редактировании категории будет отображена активная ссылка на комментарии к категории или надпись «Комментариев нет» при их отсутствии.

Вопросы - ответы

В списке вопросы выводятся с приоритетом новизны.

Кнопка служит для удаления вопроса. Кнопка служит для быстрой публикации вопроса (или, наоборот, блокирования).

Вопросы имеют следующие характеристики.

Основные:

  • Имя – ФИО пользователя, задавшего вопрос;

  • Дата – дата поступления вопроса;

  • Показывать на сайте – публикация на сайте, активность;

  • Часто задаваемый вопрос – используется в шаблонной функции show_block (см. ниже);

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

  • E-mail – электронный ящик получателя ответа;

  • Прикрепленные файлы;

  • Категория – помимо основной можно указать дополнительные категории;
  • Вопрос – вопрос, который задал пользователь в форме в пользовательской части сайта;

  • Ответ – текстовое поле для ответа.

Дополнительные:

  • Показывать в меню – добавляет ссылку в меню согласно структуре сайта. Подробнее смотрите в разделе модуль «Меню на сайте»;

  • Номер – номер вопроса;

  • Время последнего изменения – выводится в заголовке Last modify;

  • Заголовок окна в браузере, тэг Title – если не заполнен, тег title будет автоматически сформирован из Названия страницы - Названия раздела - Названия сайта;

  • Ключевые слова, тэг Keywords – ключевые слова для мета-тега «keywords», используется для поисковой оптимизации;

  • Описание, тэг Description – описание для мета-тега «description», используется для поисковой оптимизации;

  • Псевдоссылка – ссылка на страницу вопроса будет генерироваться следующим образом: http://www.site.ru/псевдоссылка/. Если псевдоссылка не указана адрес страницы будет: http://www.site.ru/псевдоссылка_страницы/catНомер_категории/showНомер_вопроса/. При добавлении псевдоссылки автоматически прикрепляется псевдоссылка страницы и категории вопроса. При редактировании можно это исправить;

  • Раздел сайта – принадлежность к странице сайта;

  • Не показывать на карте сайта – скрывает отображение ссылки на вопрос в файле sitemap.xml.

Если в конфигурации модуля включен параметр «Показывать комментарии», то при редактировании вопроса в административной части сайта будет отображена активная ссылка на комментарии к вопросу или надпись «Комментариев нет» при их отсутствии.

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

Если в конфигурации модуля включен параметр «Подключить теги», то при редактировании вопроса появится возможность редактирования тегов, прикрепленных к вопросу.

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

Если в конфигурации модуля разрешено прикрепление файлов («Разрешить добавление файлов»), то необходимо указать «Максимальное количество добавляемых файлов» (если поле пустое, то нет возможности прикрепить файлы), «Доступные типы файлов (через запятую)» (пример: doc, gif, jpg, mpg, pdf, png, txt, zip). Файлы загружаются в таблицу базы данных {attachment} и доступны для просмотра только администратору.

Настройки

Можно сохранять разные конфигурации модуля для разных страниц, к которым прикреплен модуль.

Использовать категории – позволяет включить/отключить категории вопросов.

Количество вопросов на странице – количество одновременно выводимых вопросов в списке вопросов.

Количество вопросов в списке категорий – количество вопросов, выводимых в списке категорий на главной странице модуля.

Показывать вопросы подкатегорий – позволяет показывать в категории верхнего уровня не только вопросы, принадлежащие текущей категории, но и вопросы подкатегорий, принадлежащих данной категории.

Защита от спама – возможные варианты:

  • нет – не используется никаких средств для защиты от спама;
  • только для зарегистрированных пользователей – вопросы могут добавлять только зарегистрированные пользователи;
  • использовать защитный код – для добавления вопроса пользователь должен ввести защитный код.

Формат даты – позволяет настроить отображение даты в модуле.

Сообщение после отправки сообщение, получаемое пользователем при удачной загрузки вопроса, допускаются HTML-теги для оформления сообщения.

Пример:

<div align="center"><b>Спасибо за ваше сообщение!</b><br>Наш консультант подберет необходимую информацию, после чего ваш вопрос и ответ на него будут опубликованы на этой странице.</div>

Ваше сообщение уже имеется в базе сообщение, получаемое пользователем при повторной попытке отправить вопрос.

Разрешить добавление файлов – позволяет пользователям прикреплять файлы к вопросам.

Максимальное количество добавляемых файлов – количество добавляемых файлов. Если значение равно нулю, то форма добавления файлов не выводится.

Доступные типы файлов (через запятую)

Пример: doc, gif, jpg, mpg, pdf, png, txt, zip

Распознавать изображения – позволяет прикрепленные к вопросу файлы в формате JPEG, GIF, PNG отображать как изображения.

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

Размер для маленького изображения – размер изображения предпросмотра.

Максимальный размер загружаемых файлов – параметр показывает максимально допустимый размер загружаемых файлов, установленный в настройках хостинга.

Тема письма для ответа – ответ отправляется пользователю, если при редактировании вопроса заполнены поля «E-mail», «Вопрос», «Ответ» и «Отправить ответ».

Пример: %title (%url). Вопрос-Ответ. Где:

  • %titleназвание сайта,

  • %url – адрес сайта (например, site.ru).

Сообщение для ответа

Пример: Здравствуйте, %name!<br>Вы задали вопрос на сайте %title (%url).<br><b>Вопрос:</b> %question <br><b>Ответ:</b> %answer. Где:
  • %nameимя пользователя,

  • %titleназвание сайта,

  • %url – адрес сайта (например, site.ru),

  • %questionвопрос,

  • %answer – ответ.

E-mail, указываемый в обратном адресе пользователю возможные значения:

  • e-mail, указанный в параметрах сайта;
  • другой (при выборе этого значения появляется дополнительное поле впишите e-mail).

Уведомлять о поступлении новых вопросов на e-mail – возможность уведомления администратора о поступлении новых вопросов из формы в пользовательской части сайта.

E-mail для уведомлений администратора – возможные значения:

  • e-mail, указанный в параметрах сайта;
  • другой (при выборе этого значения появляется дополнительное поле впишите e-mail).

Тема письма для уведомлений

Пример: %title (%url). Новый вопрос в рубрике Вопрос-Ответ. Где:
  • %titleназвание сайта,

  • %url – адрес сайта (например, site.ru).

Сообщение для уведомлений

Пример:

Здравствуйте, администратор сайта %title (%url)!<br>В рубрике Впорос-Ответ появился новый вопрос:<br>%question.<br>%name<br>%email. Если включен параметр «Разрешить добавление файлов», то добавляется строка: <br>Прикреленные файлы: %files. Где:

  • %titleназвание сайта,

  • %url – адрес сайта (например, site.ru),

  • %questionвопрос,

  • %nameимя пользователя,

  • %email – e-mail пользователя,

  • %files – название прикрепляемых файлов.

Показывать комментарии к вопросам – подключение модуля «Комментарии». Параметр не будет включен, если модуль «Комментарии» не установлен. Подробности см. в разделе «Модуль Комментарии».

Показывать комментарии к категориям – подключение модуля «Комментарии» к категориям вопросов. Параметр не будет включен, если модуль «Комментарии» не установлен. Подробности см. в разделе «Модуль Комментарии».

Подключить теги – подключение модуля «Теги». Параметр не будет включен, если модуль «Теги» не установлен. Подробности см. в разделе «Модуль Теги».

Показывать рейтинг вопросов – подключение модуля «Рейтинг». Параметр не будет включен, если модуль «Рейтинг» не установлен. Подробности см. в разделе «Модуль Рейтинг».

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

Для работы с модулем "Вопрос-Ответ" служат следующие шаблонные теги:

show_block – выводит последние вопросы. На странице вопросов, когда выводится список аналогичных вопросов, блок не выводится.

Атрибуты:

count – количество выводимых вопросов (по умолчанию 3);

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

cat_id – категория вопросов (id категории, по умолчанию выводятся все вопросы без учета категории), если в конфигурации модуля отмечено «Использовать категории»;

often – часто задаваемые вопросы (если often=1, выводятся вопросы с пометкой «Часто задаваемый вопрос»);

template – шаблон тега (функция в файле modules/faq/faq.view.php должна называться show_block_template; по умолчанию шаблон show_block).

Формат даты задается в конфигурации модуля.

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

Атрибуты:

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

cat_id – категория вопросов (id категории, по умолчанию выбирается одна категория), если в конфигурации модуля отмечено «Использовать категории»;

template – шаблон тега (функция в файле modules/faq/faq.view.php должна называться form_template; по умолчанию шаблон form).

Пример: <insert name="show_form" module="faq">

выведет форму добавления вопроса

Оформление формы в функции form в файле modules/faq/faq.view.php.

CSS-форматирование

Общие стили:

.faq_date{} – дата

.faq_question{} – вопрос

.faq_answer{} – ответ

Список вопросов:

.faq_list{} – список вопросов

.faq_list .faq{} – вопрос в списке

.faq_list .faq_date{} – дата вопроса в списке

.faq_list .faq_question{} – вопрос в списке

.faq_list .faq_answer{} – ответ в списке

.faq_list .faq_cat_anons{} – краткое описание категории вопросов

.faq_list .faq_cat_text{} – полное описание категории вопросов

.faq_list .faq_cat_link{} – ссылка на вложенную категорию вопросов

.faq_list .show_all{} – ссылка на все воппросы в категории

.faq_list .previous_next_links{} – ссылки на предыдущую, следующую категории

.faq_list .previous_link{} – ссылка на предыдущую категорию

.faq_list .next_link{} – ссылка на следующую категорию

Страница вопроса:

.faq_id{} – страница вопроса

.faq_id .faq_date{} – дата

.faq_id .faq_question{} – вопрос

.faq_id .faq_answer{} – ответ

.faq_id .show_all{} – ссылка на все вопросы

.faq_id .previous_next_links{} – ссылки на предыдущий, следующий вопросы

.faq_id .previous_link{} – ссылка на предыдущий вопрос

.faq_id .next_link{} – ссылка на следующий вопрос

Форма «Задать вопрос»:

.faq_form{} – форма «Задать вопрос»

.faq_form .inptext{} – поля «Ваше имя», «Ваш вопрос», «E-mail для ответа»

.faq_form .inpfile{} – поле «Прикрепляемые файлы»

.faq_form .infofield{} – подпись к полю в форме

.faq_form .button{} – кнопка «Отправить» в форме

Шаблонная функция show_block:

.faq_block{} – шаблонная функция show_block

.faq_block h2{} – заголовок

.faq_block .faq{} – вопрос в блоке

.faq_block .faq_date{} – дата в шаблонной функции

.faq_block .faq_question{} – вопрос в шаблонной функции

.faq_block .faq_answer{} – ответ в шаблонной функции

.faq_block .show_all{} – ссылка на все вопросы в шаблонной функции

Файлы

Модуль находится в папке /modules/faq/ и устроен классически.

  1. modules/faq/faq.php – контроллер модуля;

  2. modules/faq/faq.model.php – формирование данных для страницы модуля;

  3. modules/faq/faq.view.php – шаблон модуля;

  4. modules/faq/faq.ajax.php – обработка запроса на добавление вопроса;

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

  6. modules/faq/faq.sitemap.php – карта модуля для файла sitemap.xml;

  7. modules/faq/admin/faq.admin.php – редактирование вопросов;

  8. modules/faq/admin/faq.admin.category.php – редактирование категорий вопросов;

  9. modules/faq/admin/faq.admin.config.php – конфигурация модуля;

  10. modules/faq/admin/faq.admin.menu.php – формирование списка вопросов и категорий вопросов в административной части модуля «Меню».



Не понятно? Уточните