Меняем отображение даты новости — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
  [[category:Верстка в XSLT]][[Категория:Модуль Новости]]
 
  [[category:Верстка в XSLT]][[Категория:Модуль Новости]]
'''Актуально для версии 2.9'''
+
'''Актуально для версии 18. Шаблон demodizzy.'''
  
Если вы хотите изменить стиль вывода даты публикации новостей в XSLT демо-шаблоне «современный», то вам необходимо внести изменения в  таблицу стилей модуля новостной ленты по адресу "\xsltTpls\modules\news\news-list.xsl". Изначально она выводит ленту примерно следующего вида:
+
Если вы хотите изменить стиль вывода даты публикации новостей в XSLT демо-шаблоне «современный», то вам необходимо внести изменения в  таблицу стилей модуля новостной ленты по адресу "\xslt\modules\news\news-list.xsl". Изначально она выводит ленту примерно следующего вида:
  
 
[[Файл:NewsDataOld.png]]
 
[[Файл:NewsDataOld.png]]

Текущая версия на 10:54, 1 июня 2018

Актуально для версии 18. Шаблон demodizzy.

Если вы хотите изменить стиль вывода даты публикации новостей в XSLT демо-шаблоне «современный», то вам необходимо внести изменения в таблицу стилей модуля новостной ленты по адресу "\xslt\modules\news\news-list.xsl". Изначально она выводит ленту примерно следующего вида:

NewsDataOld.png

Для того, чтобы в этой таблице изменить только дату публикации в конце шаблона необходимо добавить следующую конструкцию:

<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>

А результат так:

Newsdata.png