![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
#1 |
|
Administrator
|
Код:
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 |
|
|
|
|
|
#2 |
|
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
А вот сделать такой финт ушами не с текущей датой, а с датой из поля я не смог. В сорсы не смотрел на эту тему, но судя по всему stdWrap.strftime происходит после stdWrap.cObject и других контент-преобразовательных функций и до всяких wrap'ов.
То есть делмаем например text = TEXT text { field = tstamp strftime = %m cObject = CASE ... } и получаем на выходе "январь" или "January" в зависимости от локали (исходя из 1 января 1970 года) |
|
|
|
|
|
#4 |
|
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Неверный пример привел. Суть в том что нет field. Есть только контент этого поля, который передается в stdWrap. Конкретно я боролся с выдачей даты в новостях (tt_news).
|
|
|
|
|
|
#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 |
|
|
|
|
|
#6 | |
|
Новенький
Регистрация: 29.01.2008
Сообщений: 4
|
Цитата:
Попробовал использовать для вывода даты, число при этом почему то не отображается. |
|
|
|
|
|
|
#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 = |
}
|
|
|
|
|
|
#8 |
|
Новенький
Регистрация: 23.01.2007
Сообщений: 25
|
Потому что надо %A (полное название дня недели в текущей локали) заменить на %u (номер дня недели: 1-7). 01-07 соответственно заменить на 1-7.
http://ru2.php.net/strftime |
|
|
|
|
|
#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 = |
}
|
|
|
|
|
|
#10 |
|
Senior Member
|
Воспользовалась кодом с этой темы. Замечательно работает для list. А можно ли сделать, чтобы то же самое работало и для latest и для single? Вставка того же куска, только с заменой
plugin.tt_news.displayList.date_stdWrap{ на plugin.tt_news.displayLatest.date_stdWrap{ не помогла, да и не рационально это. Может кто подкинет кусочек кода, чтобы все разом, а? |
|
|
|