Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
По поводу модуля "Страница в PDF"

Автор pandusРаздел Настройка системы и модулей

Ответов: 6
Просмотров: 316
Последний ответ 25 Января 2017, 18:03:01
от pandus
Работа модуля Обратная связь (вставка форм в контент сайта) при XSLT

Автор ariusgroupРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 3131
Последний ответ 17 Октября 2012, 15:29:17
от admin
Вывод названия и иконки модуля в панели избранных модулей

Автор SeweryssРаздел Разработка модулей

Ответов: 5
Просмотров: 2376
Последний ответ 21 Февраля 2014, 19:46:41
от e.ioffe
Вопрос по выводу дочерних страниц модуля структура

Автор shotoРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 2013
Последний ответ 07 Марта 2014, 17:34:18
от e.ioffe
Показать все товары со скидкой модуля «Интернет магазин»

Автор webtrendРаздел Шаблоны XSLT

Ответов: 3
Просмотров: 291
Последний ответ 31 Января 2016, 22:29:02
от crazygeorgio

0 Пользователей и 1 Гость просматривают эту тему.

*

izen29

  • *
  • 13
  • +0/-0
    • Просмотр профиля
В продолжение эпопеи с задачей вопросов специалистам - решил попробовать для этих целей модуль faq. С выводом вопросов-ответов проблем не возникло, зато с ходу попал на нежелание работать формы собствено задачи вопроса. Покурил пример http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/faq/faq_addquestionform/, взял за основу форму для tpl шаблона

<form method="post" action="/faq/post_question/123/">
<div>
<label for="title">Тема<span>*</span>:</label>
<input style="width: 100%;" type="text" name="title" id="title" />
</div>
<div>
<label for="question">Вопрос<span>*</span>:</label>
<textarea style="width: 50%;" name="question" id="question" ></textarea>
</div>
<xsl:apply-templates select="document('udata://system/captcha')/udata[url]" />
<input type="submit" value="Отправить" />
</form>

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

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:пользовательская форма вопроса для модуля faq
« Ответ #1 : 13 Февраля 2013, 21:44:30 »
Верстать форму самому необходимости нет. как правило нет...... Но мне помнится, что всё же приходилось.  Самое сложное найти куда надо отправлять форму, action формы.

Заходим в xsltTpls\modules\faq.
Интересующий нас макрос - addQuestionForm. Находим либо файл с таким именем, либо поиском по содержимому. Натыкаемся на файл addQuestionForm.xsl. Смотрим на его содержимое. Видно, что шаблон применяется без mode.
Рекомендую поискать что это такое и разобраться с тем чем отличается apply-templates от template match. Как минимум, нужно знать следующие вещи:
apply-templates - применить шаблон
templates - описание шаблона


value-of - значение
потом уже
if - условие
when - аналог switch case
variable - переменная
Потом уже по ходу дела всё станет понятно... Итак, идём дальше..


Мы нашли где описан шаблон нужного нам макроса. Что бы он сработал, его надо где-то вызвать. Находим, где он вызывается....
Проверяем....
Если в адресной строке выдаются ошибки - тогда необходимо вывести эти ошибки. Для этого используем модуль system макрос listErrorMessages.

что бы вывести его - пишем <xsl:apply-templates select="document('udata://system/listErrorMessages')"/>
Писать нужно на той же странице, где вызывается макрос, выдающий ошибки,  т.к. при наличие ошибок не происходит редирект и ошибки вываливаются в этой же странице. Если ошибок не будет - ничего не будет выводиться
« Последнее редактирование: 13 Февраля 2013, 21:48:18 от Rodogor »

*

izen29

  • *
  • 13
  • +0/-0
    • Просмотр профиля
Re:пользовательская форма вопроса для моду
« Ответ #2 : 14 Февраля 2013, 00:54:18 »
спасибо, это все понял, теперь постинг работает, но возник тут же следующий вопрос - после отправки сообщения происходит редирект на страницу /faq/post_question/?posted=номер тикета

отлов <xsl:template match="result[@module = 'faq'][@method = 'post_question']">
по аналогу с восстановлением аккаунта
<xsl:template match="udata[@module = 'users'][@method = 'restore'][@status = 'success']"> ник  чему не привел...
как можно поймать этот редирект? а еще лучше где про него почитать?

не, ступил спросонья - поймать получилось, но в какой переменной можно посмотреть ответ с номером тикета? хмл не показывает((
« Последнее редактирование: 14 Февраля 2013, 01:20:43 от izen29 »

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:пользовательская форма вопроса для модуля faq
« Ответ #3 : 14 Февраля 2013, 08:57:39 »
Не понял что нужно сделать. Попытка поймать success в модуле FAQ, т.е. сообщение о том, что тикет добавлен ?

Что означает "посмотреть ответ с номером тикета", что должно быть и что нужно глянуть ?

Лучшее место для "про него прочитать" - исходный код, но там очень специфический юмор и может быть не интересно, сюжет не особо, действующие персонажи тоже какие-то вялые.

*

izen29

  • *
  • 13
  • +0/-0
    • Просмотр профиля
Re:пользовательская форма вопроса для модуля faq
« Ответ #4 : 16 Февраля 2013, 00:35:03 »
Да, что то в конце рабочего дня потерял способность формулировать мысли четко. По проблеме - разобрался и все сделал, просто нужно всетаки иногда спать несколько часов в сутки)

*

Rodogor

  • ***
  • 189
  • +24/-0
    • Просмотр профиля
Re:пользовательская форма вопроса для модуля faq
« Ответ #5 : 16 Февраля 2013, 13:27:15 »
У меня где-то через 3-4 месяца упорной работы с umi функция чёткого формулирования мыслей и словей в предложение вырубилась напрочь.