Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   tt_news, Как сравнивать даты?? (http://forum.typo3.ru/showthread.php?t=9773)

konstantin_s90 28.10.2011 18:56

tt_news, Как сравнивать даты??
 
hi,

такая задача: выводятся новости через tt_news в List и актуальные должны быть выделены. т.е. если сегоднешняя дата совпадает с датой создания новости, то она выделяеться цветом.
Как это сделать?? Помогите!!!!

dmartynenko 31.10.2011 13:23

Два решения, по сути похожие:

1. Использовать экст ttnewsgenericmarkers

Он позволяет используя TypoScript добавить подстановку своих маркеров в шаблон tt_news.
Например, определяете в TS
Код:

plugin.tt_news.genericmarkers.current_date_class = TEXT
plugin.tt_news.genericmarkers.current_date_class.value = ...

В HTML шаблоне tt_news:
Код:

...
<div class="###CURRENT_DATE_CLASS###">###NEWS_DATE###</div>
...

Тут сложность в том, как на TS сравнить дату текущей новости и текущую дату и на основании этого задать нужное значение current_date_class.value

2. Использовать хуки tt_news и написать свой плагин для добавления дополнительных маркеров. Лично для меня php более прозрачен в том, как сравнить дату новости и текущущю дату, но потребует больше опыта для кодирования специализированного экста.
Пример можете посмотреть в эксте comments.
В файле ext_localconf.php
Код:

// Extra markers hook for tt_news
if (t3lib_extMgm::isLoaded('tt_news')) {
        $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraItemMarkerHook'][$_EXTKEY] = 'EXT:comments/class.tx_comments_ttnews.php:&tx_comments_ttnews';
}

В файле class.tx_comments_ttnews.php
Код:

function extraItemMarkerProcessor($markerArray, $row, $lConf, &$pObj) {
  ...
}

В HTML шаблоне tt_news аналогично первому способу.

Второй способ вообще очень универсален - можете "под себя" много чего добавить в tt_news.

3. И третий способ, может быть самый легковесный. Написать JS, который будет анализировать содержание тэга с датой (например <span>) и добавлять к тэгу стиль или класс если содержание тэга соответствует текущей дате. Но это выходит за рамки TYPO3, так что код и примеры не привожу.


Часовой пояс GMT +4, время: 20:51.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot