Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
17.05.2006, 16:43 | #1 |
Administrator
|
вывод даты в виде: 12 мартобря 2006 г.
Код:
config.cache_clearAtMidnight = 1 lib.data_top = COA lib.data_top.10=TEXT lib.data_top.10{ data= date:U strftime= %e } lib.data_top.20 = CASE lib.data_top.20 { key.data = date:U key.strftime= %m 01 = TEXT 01.value = января 02 = TEXT 02.value = февраля 03 = TEXT 03.value = марта 04 = TEXT 04.value = апреля 05 = TEXT 05.value = мая 06 = TEXT 06.value = июня 07 = TEXT 07.value = июля 08 = TEXT 08.value = августа 09 = TEXT 09.value = сентября 10 = TEXT 10.value = октября 11 = TEXT 11.value = ноября 12 = TEXT 12.value = декабря stdWrap.wrap = | } lib.data_top.30=TEXT lib.data_top.30{ data= date:U strftime= %Y wrap = | г. } http://www.mcuniverse.com/05/Current_Date.83.0.html |
16.07.2007, 19:02 | #2 |
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
А вот сделать такой финт ушами не с текущей датой, а с датой из поля я не смог. В сорсы не смотрел на эту тему, но судя по всему stdWrap.strftime происходит после stdWrap.cObject и других контент-преобразовательных функций и до всяких wrap'ов.
То есть делмаем например text = TEXT text { field = tstamp strftime = %m cObject = CASE ... } и получаем на выходе "январь" или "January" в зависимости от локали (исходя из 1 января 1970 года) |
17.07.2007, 05:44 | #4 |
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Неверный пример привел. Суть в том что нет field. Есть только контент этого поля, который передается в stdWrap. Конкретно я боролся с выдачей даты в новостях (tt_news).
|
18.07.2007, 04:08 | #5 |
Senior Member
|
Сниппет для tt_news:
Код:
plugin.tt_news.displayList.date_stdWrap{ strftime > cObject = COA cObject.10 = TEXT cObject.10{ field = datetime strftime = %d } cObject.20 = CASE cObject.20{ key.field = datetime key.strftime = %m 01 = TEXT 01.value = января 02 = TEXT 02.value = февраля 03 = TEXT 03.value = марта 04 = TEXT 04.value = апреля 05 = TEXT 05.value = мая 06 = TEXT 06.value = июня 07 = TEXT 07.value = июля 08 = TEXT 08.value = августа 09 = TEXT 09.value = сентября 10 = TEXT 10.value = октября 11 = TEXT 11.value = ноября 12 = TEXT 12.value = декабря stdWrap.wrap = | } cObject.30 = TEXT cObject.30{ field = datetime strftime = %Y wrap = | г. } }
__________________
TYPO3 FAQ |
13.02.2008, 09:03 | #6 | |
Новенький
Регистрация: 29.01.2008
Сообщений: 4
|
Цитата:
Попробовал использовать для вывода даты, число при этом почему то не отображается. |
|
02.03.2008, 15:43 | #7 |
Senior Member
|
Дни недели
Очень хорошо, спасибо. С месяцами все ясно, а как насчет дней недели? Написал
Код:
30 = CASE 30 { key.data = date:U key.strftime = %A 01 = TEXT 01.value = понедельник 02 = TEXT 02.value = вторник 03 = TEXT 03.value = среду 04 = TEXT 04.value = четверг 05 = TEXT 05.value = пятницу 06 = TEXT 06.value = субботу 07 = TEXT 07.value = воскресенье stdWrap.wrap = | } |
02.03.2008, 15:57 | #8 |
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Потому что надо %A (полное название дня недели в текущей локали) заменить на %u (номер дня недели: 1-7). 01-07 соответственно заменить на 1-7.
http://ru2.php.net/strftime |
02.03.2008, 16:15 | #9 |
Senior Member
|
Спасибо!
Результат
Код:
30 = CASE 30 { key.data = date:U key.strftime = %u 1 = TEXT 1.value = понедельник 2 = TEXT 2.value = вторник 3 = TEXT 3.value = среду 4 = TEXT 4.value = четверг 5 = TEXT 5.value = пятницу 6 = TEXT 6.value = субботу 7 = TEXT 7.value = воскресенье stdWrap.wrap = | } |
13.03.2008, 13:07 | #10 |
Senior Member
|
Воспользовалась кодом с этой темы. Замечательно работает для list. А можно ли сделать, чтобы то же самое работало и для latest и для single? Вставка того же куска, только с заменой
plugin.tt_news.displayList.date_stdWrap{ на plugin.tt_news.displayLatest.date_stdWrap{ не помогла, да и не рационально это. Может кто подкинет кусочек кода, чтобы все разом, а? |