UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: thecoder от 17 Сентября 2011, 00:49:03

Название: Архив новостей
Отправлено: thecoder от 17 Сентября 2011, 00:49:03
Привет всем.
Как вывести архив новостей на xslt? Желательно с разбивкой по месяцам.
Название: Re:Архив новостей
Отправлено: admin от 21 Сентября 2011, 13:34:02
под архивом что понимается?

в юми новости не делятся на архивные и обычные, новости лежат внутри какой-нибудь ленты новостей, но можно выводить только ограниченное кол-во новостей из ленты (позиционируя это как основные новости) и сделать ссылку для вывода новостей остальных (позиционируя это как архив новостей)

если интересует вывод новостей за какой-то период (напр. вывести новости за период от 10 дней назад до 30 дней назад от текущего дня) , то для этого есть спец параметр s_days_interval  (см. документацию по макросу (http://help-dev.umi-cms.ru/news.lastlist.html)) и тогда вызов таких новостей будет выглядить так

<xsl:apply-templates select="document(concat('udata://news/lastlist/', '(news)', '/template//0/(-10d - 30d)'))/udata"/>
Название: Re:Архив новостей
Отправлено: thecoder от 21 Сентября 2011, 20:27:02
Нужно выводить года за которые есть новости, например:
2011
2010
2009

при выборе года, вывести месяца в которых есть новости:
2011
   сентябрь
   июль
   май

Для примера, www.akron-s.ru/news слева блок архив.
В модуле news есть метод calendar может он за это отвечает? Не нашел нигде описание как его использовать.
Название: Re:Архив новостей
Отправлено: admin от 22 Сентября 2011, 11:40:33
calendar уже частично обсуждался тут Вывод нескольких календарей при использов кастомного календаря %news calendar()%
 (http://umihelp.ru/forum/index.php/topic,170.0.html)

вы можете выводить новости за определенные промежутки также передавая параметры через адресную строку типа ?year=2008&month=1

а календарь по-моему как раз сможет вывести эти ссылки, хотя я никогда его не использовал, писал кастомно как тут , http://lux-rocket.com/afisha/
Название: Re:Архив новостей
Отправлено: thecoder от 22 Сентября 2011, 11:47:51
Ну я полазил по документации и написал кастомный метод, который выводит все года за которые есть новости и при выборе года выводит месяца, в которых есть новости.