Вывод года в дате ИС и сортировка по ней

#
Вывод года в дате ИС и сортировка по ней
Добрый день!

Не подскажите, как вывести год новости в списке ИС, выводится только число и дата?
Также, сортируется только по числу и дате, в итоге, новости 14 апреля 2010 и 14 апреля 2011 оказываются рядом. Нужно сделать по году тоже.

Заранее спасибо.
#
Re: Вывод года в дате ИС и сортировка по ней
#
Re: Вывод года в дате ИС и сортировка по ней
в настройках инфосистемы есть вкладка - Сортировка, поставьте - Дата-по убыванию
пример вывода даты из стандартного xsl-шаблона
<xsl:value-of disable-output-escaping="yes" select="substring-before(item_date, '.')"/>
         <xsl:variable name="month_year" select="substring-after(item_date, '.')"/>
         <xsl:variable name="month" select="substring-before($month_year, '.')"/>
         <xsl:choose>
            <xsl:when test="$month = 1"> января </xsl:when>
            <xsl:when test="$month = 2"> февраля </xsl:when>
            <xsl:when test="$month = 3"> марта </xsl:when>
            <xsl:when test="$month = 4"> апреля </xsl:when>
            <xsl:when test="$month = 5"> мая </xsl:when>
            <xsl:when test="$month = 6"> июня </xsl:when>
            <xsl:when test="$month = 7"> июля </xsl:when>
            <xsl:when test="$month = 8"> августа </xsl:when>
            <xsl:when test="$month = 9"> сентября </xsl:when>
            <xsl:when test="$month = 10"> октября </xsl:when>
            <xsl:when test="$month = 11"> ноября </xsl:when>
            <xsl:otherwise> декабря </xsl:otherwise>
         </xsl:choose>
         <xsl:value-of disable-output-escaping="yes" select="substring-after($month_year, '.')"/>

выводится и дата, и месяц, и год
#
Re: Вывод года в дате ИС и сортировка по ней
inteo писал(а):


Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file /var/www/nautilus/data/www/nautilus-fitness.ru/ line 263 element variable в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: XSLT-variable: Redefinition of variable 'month_year'. в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file /var/www/nautilus/data/www/nautilus-fitness.ru/ line 264 element variable в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: XSLT-variable: Redefinition of variable 'month'. в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file /var/www/nautilus/data/www/nautilus-fitness.ru/ line 263 element variable в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: XSLT-variable: Redefinition of variable 'month_year'. в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file /var/www/nautilus/data/www/nautilus-fitness.ru/ line 264 element variable в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: XSLT-variable: Redefinition of variable 'month'. в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file /var/www/nautilus/data/www/nautilus-fitness.ru/ line 263 element variable в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: XSLT-variable: Redefinition of variable 'month_year'. в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: runtime error: file /var/www/nautilus/data/www/nautilus-fitness.ru/ line 264 element variable в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: XSLT-variable: Redefinition of variable 'month'. в файле /var/www/nautilus/data/www/nautilus-fitness.ru/modules/xsl/processor/xslt.php (строка 53)


Добрый день! Спасибо за ответ!

Вот что получилось

Было так:
<div class="item {$evenodd}">
         <div class="date">
            <b><xsl:value-of select="substring-before(date, '.')"/></b>
            <i>
               <xsl:choose>
                  <xsl:when test="$month = 1"> янв </xsl:when>
                  <xsl:when test="$month = 2"> фев </xsl:when>
                  <xsl:when test="$month = 3"> мар </xsl:when>
                  <xsl:when test="$month = 4"> апр </xsl:when>
                  <xsl:when test="$month = 5"> мая </xsl:when>
                  <xsl:when test="$month = 6"> июн </xsl:when>
                  <xsl:when test="$month = 7"> июл </xsl:when>
                  <xsl:when test="$month = 8"> авга </xsl:when>
                  <xsl:when test="$month = 9"> сен </xsl:when>
                  <xsl:when test="$month = 10"> окт </xsl:when>
                  <xsl:when test="$month = 11"> ноя </xsl:when>
                  <xsl:otherwise> дек </xsl:otherwise>
                  
               </xsl:choose>
            </i>
         </div>
         <div class="desc">
            <xsl:value-of disable-output-escaping="yes" select="description"/>
            <a class="link" href="{url}">Подробнее >></a>
         </div>
      </div>


Сделал так:
<div class="item {$evenodd}">
         <div class="date">
            <xsl:value-of disable-output-escaping="yes" select="substring-before(item_date, '.')"/>
         <xsl:variable name="month_year" select="substring-after(item_date, '.')"/>
         <xsl:variable name="month" select="substring-before($month_year, '.')"/>
         <xsl:choose>
            <xsl:when test="$month = 1"> января </xsl:when>
            <xsl:when test="$month = 2"> февраля </xsl:when>
            <xsl:when test="$month = 3"> марта </xsl:when>
            <xsl:when test="$month = 4"> апреля </xsl:when>
            <xsl:when test="$month = 5"> мая </xsl:when>
            <xsl:when test="$month = 6"> июня </xsl:when>
            <xsl:when test="$month = 7"> июля </xsl:when>
            <xsl:when test="$month = 8"> августа </xsl:when>
            <xsl:when test="$month = 9"> сентября </xsl:when>
            <xsl:when test="$month = 10"> октября </xsl:when>
            <xsl:when test="$month = 11"> ноября </xsl:when>
            <xsl:otherwise> декабря </xsl:otherwise>
         </xsl:choose>
         <xsl:value-of disable-output-escaping="yes" select="substring-after($month_year, '.')"/>
         </div>
         <div class="desc">
            <xsl:value-of disable-output-escaping="yes" select="description"/>
            <a class="link" href="{url}">Подробнее >></a>
         </div>
      </div>
#
Re: Вывод года в дате ИС и сортировка по ней
#
Re: Вывод года в дате ИС и сортировка по ней
Никто не знает?
Модератор
#
Re: Вывод года в дате ИС и сортировка по ней
зачем Вы сортируете на XSL?
#
Re: Вывод года в дате ИС и сортировка по ней
А как нужно?)
#
Re: Вывод года в дате ИС и сортировка по ней
Redefinition of variable 'month_year'
Redefinition of variable 'month'
где то выше уже определены эти переменные, можно удалить
<xsl:variable name="month_year" select="substring-after(item_date, '.')"/>
         <xsl:variable name="month" select="substring-before($month_year, '.')"/>
#
Re: Вывод года в дате ИС и сортировка по ней
Я не понял еще всех тонкостей работы с xml и ТДС, поэтому не понимаю что и где нужно поправить.
Авторизация