Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод количества объектов в категории. XSLT

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

Ответов: 6
Просмотров: 4728
Последний ответ 18 Октября 2014, 17:39:24
от idu.kuru
Сортировка по алфавиту в xslt

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

Ответов: 2
Просмотров: 4229
Последний ответ 14 Января 2012, 17:25:36
от admin
Не выводятся все теги в xslt

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

Ответов: 2
Просмотров: 3847
Последний ответ 03 Июня 2014, 13:52:04
от goodprofy
webforms & XSLT & модальное окно

Автор graveРаздел JS и AJAX

Ответов: 8
Просмотров: 8574
Последний ответ 13 Июня 2011, 00:41:56
от talanter
Как вывести itemprop="position" content="" в XSLT?

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

Ответов: 0
Просмотров: 1557
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979

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

*

wolfman

  • *
  • 23
  • +0/-0
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #15 : 07 Июня 2012, 12:33:14 »
наконец-то из суппорта спустя несколько дней получил ответ. они исправили, но как я не понял. попробую понять.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #16 : 07 Июня 2012, 14:41:28 »
можно сюда содержимое этого файла

*

wolfman

  • *
  • 23
  • +0/-0
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #17 : 07 Июня 2012, 18:40:54 »
мне кажется тот файл они сами взяли из справки юми да и они так написали.
но вот вызов формы отличается.

у меня было так:

<xsl:apply-templates select="document('udata://comments/insert')" mode="comm" /> 

а они исправили на это:

<xsl:apply-templates select="document(concat('udata://comments/insert/', page/@id))/udata"/>
<xsl:apply-templates select="result/user"/>

в итоге форма есть (не дублируется) и комментарии работают.

*

wolfman

  • *
  • 23
  • +0/-0
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #18 : 07 Июня 2012, 18:45:00 »
кстати, можете пожалуйста подсказать как вывести комментарии только на какой-то одной странице. пока у меня выводиться в шаблоне всех внутренних т.к. для них единый шаблон.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #19 : 07 Июня 2012, 22:33:18 »
ну как вариант обвернуть вывод комментариев в условный комментарий типа
xsl:if

*

wolfman

  • *
  • 23
  • +0/-0
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #20 : 28 Июня 2012, 22:05:13 »
У меня немного необычный (наверное) вопрос. Мне надо в шаблоны данных комментариев добавить новое поле и выводить его под текстом самого комментария. Как это сделать? Я создал новое поле, а какой строкой его вывести на странице с комментариями? Помогите пожалуйста :)
Это я хочу сделать под комментариями поле для ответа, чтобы сделать некую страницу с отзывами.

PS: Хотя по идее комментарии должны быть и так с возможностью древовидного комментирования (для добавления ответов к другим комментариям), но они по умолчанию идут все сплошным списком. Вообще не понимаю, как в xslt сделать древовидные комментарии :)
« Последнее редактирование: 28 Июня 2012, 22:12:16 от wolfman »

*

Innokentius

  • *
  • 1
  • +0/-0
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #21 : 30 Июля 2012, 09:56:38 »
Вот меня тоже интересует вопрос реализации древовидных комментариев путем XSLT. Меня все время отправляют к примеру кастомного макроса для TPL-шаблонов... Но я не PHP-кодер) Я верстальщик, изучаю UMI.CMS и XSLT) Мне бы мануал)))

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #22 : 30 Июля 2012, 20:10:01 »
судя по официальной документации, древовидные комментарии можно делать только в блогах(у них свои собственные комментарии), хотя надо посмотреть обычные комментарии на предмет того можно ли их исскуственно делать многоуровневыми. То есть комментарий обычный может быть оставлен к странице любого типа. По логике его можно оставить и к другому комментарию.

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

Примерно так:
1. Вызов списка комментариев
<xsl:apply-templates select="document('udata://comments/insert')" />

2. данный список отрабатывается по шаблонам располагаемым в файле (имеется в виду структура demodizzy) /xsltTpls/modules/comments/comments-list.xsl. Попробуем поменять шаблон, который выводит комментарии.
Было:
<xsl:template match="item" mode="comment">
<div class="item" umi:element-id="{@id}" umi:region="row">
<div class="descr" umi:field-name="message" umi:delete="delete" umi:empty="&empty;">
<xsl:value-of select="." disable-output-escaping="yes" />
</div>

<div class="date">
<xsl:apply-templates select="document(@xlink:author-href)" />

<xsl:text> (</xsl:text>
<span umi:field-name="publish_time">
<xsl:call-template name="format-date">
<xsl:with-param name="date" select="@publish_time" />
</xsl:call-template>
</span>
<xsl:text>)</xsl:text>
</div>
</div>
</xsl:template>

стало:
<xsl:template match="item" mode="comment">
<div class="item" umi:element-id="{@id}" umi:region="row">
<div class="descr" umi:field-name="message" umi:delete="delete" umi:empty="&empty;">
<xsl:value-of select="." disable-output-escaping="yes" />
</div>

<div class="date">
<xsl:apply-templates select="document(@xlink:author-href)" />

<xsl:text> (</xsl:text>
<span umi:field-name="publish_time">
<xsl:call-template name="format-date">
<xsl:with-param name="date" select="@publish_time" />
</xsl:call-template>
</span>
<xsl:text>)</xsl:text>
</div>
</div>
<xsl:apply-templates select="document(concat('udata://comments/insert/',@id))" />
</xsl:template>

Должно получиться

*

BaceH

  • ***
  • 141
  • +21/-0
    • Просмотр профиля
Re:Форма добавления комментариев (xslt)
« Ответ #23 : 30 Июля 2012, 22:54:24 »
Цитировать
В модуле Блоги 2.0. есть возможность оставлять комментарии к комментарию. В этой статье будет представлен пример кастомного макроса, который позволяет использовать практически идентичную функциональность в модуле "Комментарии". Пропишем необходимый код в файле /classes/modules/comments/__custom.php, после слов "//TODO: Write here your own macroses":
http://wiki.umisoft.ru/%D0%92%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D0%B8%D0%B8