Меняем отображение даты новости

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 18 ревизия 85081

Если вы хотите изменить стиль вывода даты публикации новостей в 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