UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: izen29 от 12 Февраля 2013, 14:13:11

Название: вывод сообщений обратной связи на сайте
Отправлено: izen29 от 12 Февраля 2013, 14:13:11
Здравствуйте!

Решаю задачу: на сайте есть 4 формы обратной связи к разным специалистам, соответственно через каждую форму можно задать вопрос отдельному специалисту. Специалист должен иметь возможность посредством бекофиса просматривать полученные вопросы, писать ответы и публиковать связки "вопрос-ответ" на сайте в своем разделе.

Мысли: решил использовать для реализации модуль "Обратная связь", как распараллелить специалистов и входящие сообщения - понятно. Как добавить дополнительные скрытые поля (например ответ) - в первом приближении понятно.

Вопрос - как сделать вывод на сайте всех вопросов, посланных через конкретную форму обратной связи?

Заранее спасибо!
Название: Re:вывод сообщений обратной связи на сайте
Отправлено: Rodogor от 12 Февраля 2013, 14:44:41
Я подобную задачу решал так:

Создал тип данных для специалистов. Сделал им доп. поля, в том числе "специализация".

Написал кастом, создающий вопрос для пользователей. При отправке вопроса выбирается и "специализация" (для того что бы отфильтровать специалиста). Сообщение, пока на него не ответит спец закрыто для пользователей, но открыто для специалистов.

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

На вопрос могут отвечать несколько специалистов. Пользователи могут комментировать вопрос и отвечать сами (но ответы (посты специалстов) выводятся выше)

Всё кастомное.

Вопрос - как сделать вывод на сайте всех вопросов, посланных через конкретную форму обратной связи?


Если всё стандартное - то в типе данных "сообщение" хранится имя формы, которую отправляли. Можно фильтровать по названию.
Можно самим добавить id формы в тип данных, кастомизировать отправку сообщения - так делать выборку будет проще.

Если проблема с кодом, с составление выборки - отпишитесь, помогу составить.
Название: Re:вывод сообщений обратной связи на сайте
Отправлено: izen29 от 12 Февраля 2013, 16:17:48
пока читал документацию - появились новые идеи, которые на первый взгляд могут все упростить:

- создал в модуле форум 4 конференции - по одной на каждого специалиста.

- на сайте в своем шаблоне вывел форму для пользователей - создание темы для каждой отдельной конференции, тема представляет собой собственно сам вопрос от пользователя и до аппрува специалиста скрыта.

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

- в шалоне на сайте оформляю вывод тем из конференции с первым (и последним) ответом специалиста. получается список вопросов-ответом стандартными средсвами без кастомов.

но возникла проблема:
при попытке использовать в шаблоне макрос forum/conf для получения всех тем конференции не могу добраться до собственно списка.

в главном шаблоне использую макрос:
<xsl:apply-templates select="document('udata://forum/conf/consultations/forum_pediatr/notemplate/1000')/udata" />

проваливаюсь в обработчик:
<xsl:template match="udata[@module = 'forum'][@method = 'conf']">
   <xsl:apply-templates select="lines/item"/>
</xsl:template>

и все, дальше по идее должен быть шаблон вывода названия тем:
<xsl:template match="item">
</xsl:template>

но пусто.

мои навыки начинающего осваивать юми на этом впадают в ступор) в чем может быть проблема?
Название: Re:вывод сообщений обратной связи на сайте
Отправлено: izen29 от 12 Февраля 2013, 18:19:44
Проблема решилась с помощью: http://wiki.umisoft.ru/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%82%D0%B5%D0%BC_%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9_%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B8