Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Мастер-класс (http://forum.typo3.ru/forumdisplay.php?f=41)
-   -   Сегодняшняя дата FLUID + typoscript (http://forum.typo3.ru/showthread.php?t=11942)

alexk 07.01.2016 15:11

Сегодняшняя дата FLUID + typoscript
 
Приветствую коллеги, недавно вот прочно перешел на fluid в разработке. Сегодня нужно было сделать простую весчь, вывести сегодняшнею дату вида "07 января 2016" на 3 языках, т.е. с транслитом месяца. Очень не хотелось делать по старинке через Typoscript, так что сделал вот так:
1. в locallang.xlf (по умолчанию английский) и ru.locallang +.. пишем месяцы:
PHP код:

<trans-unit id="flux.monthNames.01">
                        <
source>January</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.02">
                        <
source>February</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.03">
                        <
source>March</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.04">
                        <
source>April</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.05">
                        <
source>May</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.06">
                        <
source>June</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.07">
                        <
source>July</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.08">
                        <
source>August</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.09">
                        <
source>September</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.10">
                        <
source>October</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.11">
                        <
source>>November</source>
                    </
trans-unit>
                    <
trans-unit id="flux.monthNames.12">
                        <
source>December</source>
                    </
trans-unit

И соответственно переводим их в другие locallang.

2. В нашем fluid шаблоне пишем:
Код:

<f:format.date format="d" date="0 days"></f:format.date>
<span class="orange"><f:translate key="flux.monthNames.{f:format.date(date: '0 days', format: 'm')}" /></span>,
<f:format.date format="Y" date="0 days"></f:format.date>

И получим: 07 ЯНВАРЯ, 2016

Т.к. мне нужны были свое написание месяца да и локализация f:format.date показывала только английские названия месяцев, просто добавил свои в locallang.
Думаю так же не сложно будет сделать текущий день недели.
Надеюсь будет кому то полезно! Удачи!

Manas 07.01.2016 18:23

Пригодится, хорошее решение.

Николай Сипко 15.01.2016 01:16

Displaying the current date on a web page
http://www.jochenfroehlich.com/en/ty...rent-date.html

На всякий случай - машинный перевод:
=======
Отображение текущей даты на веб-странице

Вы можете отобразить текущую дату в различных форматах на веб-сайте. Это может быть реализовано с помощью функции PHP strftime в вашем TypoScript записи шаблона:

Current date TypoScript, SETUP section

temp.current_date = TEXT
temp.current_date {
data = date : U
strftime = %A, %e. %B %Y
}

Формат strftime строка %А,%В %е, %Y в приведенном выше примере вывод даты будет в формате "Вторник, 27 июня, 2006" .

В многоязычном сайте с опцией config.locale_all установленной надлежащим образом, имена дней недели и месяцев будут показаны на соответствующем языке сайта.

В соответствии со стандартами ISO, есть еще больше вариантов для функции strftime, чем те, что в примере (будний день, день, месяц и год). Все это также может быть использовано в шаблонах TypoScript. Чтобы получить обзор всех возможных вариантов, пожалуйста, обратитесь к документации функции strftime на официальном PHP веб-сайте
http://php.net/manual/ru/function.strftime.php

alexk 25.04.2016 17:38

Да как раз typoscript и не хотелось использовать.

Николай Сипко 10.07.2016 16:08

Цитата:

Сообщение от alexk (Сообщение 40512)
Да как раз typoscript и не хотелось использовать.

TypoScript в примерах (стр. 78)
http://www.typo3.ru/uploads/media/TYPO3_by_example.pdf

page.10 = TEXT
page.10.field = crdate
page.10.date = d-m-y H:i

выводится
01-07-00 15:48

page.10 = TEXT
page.10.field = crdate
page.10.strftime = %A %e. %B, %I:%M %p

выводится
Saturday 1. July, 03:48 PM

page.10 = TEXT
page.10.field = crdate
page.10.strftime = %A %e. %B, %I:%M %p
config.locale_all = deutsch

выводится
Samstag 1. Juli, 03:48


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

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