Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 17.05.2006, 16:43   #1
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию вывод даты в виде: 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
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 16.07.2007, 19:02   #2
azukari
Новенький
 
Регистрация: 23.01.2007
Сообщений: 25
По умолчанию

А вот сделать такой финт ушами не с текущей датой, а с датой из поля я не смог. В сорсы не смотрел на эту тему, но судя по всему stdWrap.strftime происходит после stdWrap.cObject и других контент-преобразовательных функций и до всяких wrap'ов.

То есть делмаем например
text = TEXT
text {
field = tstamp
strftime = %m
cObject = CASE
...
}
и получаем на выходе "январь" или "January" в зависимости от локали (исходя из 1 января 1970 года)
azukari вне форума   Ответить с цитированием
Старый 17.07.2007, 01:43   #3
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

А так:
text = COA
text.10 = TEXT
text.10.field = tstamp
text.10.strftime = %e
text.20 = CASE
text.20.key.field = tstamp
text.20.key.strftime = %m
и далее по тексту?
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 17.07.2007, 05:44   #4
azukari
Новенький
 
Регистрация: 23.01.2007
Сообщений: 25
По умолчанию

Неверный пример привел. Суть в том что нет field. Есть только контент этого поля, который передается в stdWrap. Конкретно я боролся с выдачей даты в новостях (tt_news).
azukari вне форума   Ответить с цитированием
Старый 18.07.2007, 04:08   #5
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Сниппет для 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
void вне форума   Ответить с цитированием
Старый 13.02.2008, 09:03   #6
Артем
Новенький
 
Регистрация: 29.01.2008
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Valery Romanchev Посмотреть сообщение
Код:
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




Попробовал использовать для вывода даты, число при этом почему то не отображается.
Артем вне форума   Ответить с цитированием
Старый 02.03.2008, 15:43   #7
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
По умолчанию Дни недели

Очень хорошо, спасибо. С месяцами все ясно, а как насчет дней недели? Написал
Код:
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 =  | 
}
..., не работает, почему?
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Старый 02.03.2008, 15:57   #8
azukari
Новенький
 
Регистрация: 23.01.2007
Сообщений: 25
По умолчанию

Потому что надо %A (полное название дня недели в текущей локали) заменить на %u (номер дня недели: 1-7). 01-07 соответственно заменить на 1-7.

http://ru2.php.net/strftime
azukari вне форума   Ответить с цитированием
Старый 02.03.2008, 16:15   #9
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
Thumbs up Спасибо!

Результат
Код:
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 =  | 
}
Работает.
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Старый 13.03.2008, 13:07   #10
margol
Senior Member
 
Аватар для margol
 
Регистрация: 09.07.2007
Адрес: Волгоград
Сообщений: 322
Отправить сообщение для margol с помощью ICQ
По умолчанию

Воспользовалась кодом с этой темы. Замечательно работает для list. А можно ли сделать, чтобы то же самое работало и для latest и для single? Вставка того же куска, только с заменой
plugin.tt_news.displayList.date_stdWrap{
на
plugin.tt_news.displayLatest.date_stdWrap{
не помогла, да и не рационально это.
Может кто подкинет кусочек кода, чтобы все разом, а?
margol вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория