Меняем отображение даты новости — различия между версиями
Материал из Umicms
XiBOR (обсуждение | вклад) (Новая страница: « category:Верстка в XSLT Если вы хотите изменить стиль вывода даты публикации новостей в XSLT д…») |
XiBOR (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | |||
[[category:Верстка в XSLT]] | [[category:Верстка в XSLT]] | ||
Если вы хотите изменить стиль вывода даты публикации новостей в XSLT демо-шаблоне «современный», то вам необходимо внести изменения в таблицу стилей модуля новостной ленты по адресу "\xsltTpls\modules\news\news-list.xsl". Изначально она выводит ленту примерно следующего вида: | Если вы хотите изменить стиль вывода даты публикации новостей в XSLT демо-шаблоне «современный», то вам необходимо внести изменения в таблицу стилей модуля новостной ленты по адресу "\xsltTpls\modules\news\news-list.xsl". Изначально она выводит ленту примерно следующего вида: | ||
− | + | [[Файл:NewsDataOld.png]] | |
Для того, чтобы в этой таблице изменить только дату публикации в конце шаблона необходимо добавить следующую конструкцию: | Для того, чтобы в этой таблице изменить только дату публикации в конце шаблона необходимо добавить следующую конструкцию: | ||
Строка 26: | Строка 25: | ||
А результат так: | А результат так: | ||
+ | [[Файл:Newsdata.png]] |
Версия 15:09, 20 марта 2012
Если вы хотите изменить стиль вывода даты публикации новостей в XSLT демо-шаблоне «современный», то вам необходимо внести изменения в таблицу стилей модуля новостной ленты по адресу "\xsltTpls\modules\news\news-list.xsl". Изначально она выводит ленту примерно следующего вида:
Для того, чтобы в этой таблице изменить только дату публикации в конце шаблона необходимо добавить следующую конструкцию:
<xsl:template match="property[@name = 'publish_time']"></xsl:template>
Вызов даты публикации происходит с помощью инструкции «value-of» вида:
<xsl:value-of select="document(concat('udata://system/convertDate/', $pdate, '/(d.m.Y/)'))/udata" />
Причем, чтобы в $pdate была нужная нам отформатированная информация о дате, необходимо обратиться к макросу %system convertDate()%. Сделать это можно так
<xsl:variable name="pdate" select="value/@unix-timestamp" />
Например, окончательная запись могла бы выглядеть так:
<xsl:template match="property[@name = 'publish_time']">
<xsl:variable name="pdate" select="value/@unix-timestamp" />
<span style="font-size: 200%;">
<xsl:value-of select="document(concat('udata://system/convertDate/', $pdate, '/(d/)'))/udata" />
</span>
<xsl:value-of select="document(concat('udata://system/convertDate/', $pdate, '/(m.Y)'))/udata" />
</xsl:template>