This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Last revision Both sides next revision | ||
ru:plugins:tips [2013/10/15 10:56] vladislav [Working around the broken sitewide cookies in GS 3.0] |
ru:plugins:tips [2013/10/18 09:49] Arkady [Displaying custom and localized Dates] |
||
---|---|---|---|
Line 56: | Line 56: | ||
</code> | </code> | ||
- | ===== Displaying custom and localized Dates ===== | + | ===== Вывод на экран локализованных дат и дат в пользовательском формате ===== |
- | + | Дата публикации страницы в XML-файлах GS хранится в английском текстовом формате, который может быть сконвертирован в UNIX-время: | |
- | The publication date in the page XML files is stored in an english text format, which can be converted to a UNIX timestamp with | + | |
<code> | <code> | ||
$timestamp = strtotime($data->pubDate); | $timestamp = strtotime($data->pubDate); | ||
</code> | </code> | ||
- | GetSimple itself uses the ''date'' function to display dates, which will work with other languages only when no weekday or month names are displayed, as these will always be in english. | + | GetSimple использует для отображения дат функцию //date//, которая подходит и для других языков, если не требуется показывать названия дней недели и месяцев, так как они всегда будут на английском. |
- | To display a truly localized date, use: | + | Для вывода на экран локализованного значения даты следует применять следующий метод: |
<code> | <code> | ||
- | $dateLocale = 'de_DE,de,ger,deu'; // or use $LANG or a setting in your plugin, | + | $dateLocale = 'de_DE,de,ger,deu'; // или используйте $LANG или соответствующую установку в вашем плагине |
- | // for OS compatibility multiple locales should be possible | + | // для совместимости с разными ОС должны допускаться различные локали |
- | $dateFormat = "%A, %d.%m.%Y - %H:%M"; // should be a entry in the i18n language file of your plugin | + | $dateFormat = "%A, %d.%m.%Y - %H:%M"; // эта запись должна быть в языковом файле вашего плагина |
- | // for the format see PHP function strftime | + | // возможные значения формата – в документации к PHP-функции strftime |
- | $oldlocale = setLocale(LC_TIME, '0'); // save old locale | + | $oldlocale = setLocale(LC_TIME, '0'); // сохраняем старую локаль |
setlocale(LC_TIME, preg_split('/s*,s*/', $dateLocale)) | setlocale(LC_TIME, preg_split('/s*,s*/', $dateLocale)) | ||
- | echo strftime($dateFormat, $date); // $date is a UNIX timestamp | + | echo strftime($dateFormat, $date); // $date - UNIX-время (timestamp) |
- | setLocale(LC_TIME, $oldlocale); // restore old locale | + | setLocale(LC_TIME, $oldlocale); // восстанавливаем старую локаль |
</code> | </code> | ||
- | |||
===== Обход ошибки при установке cookie на сайт в GS 3.0 ===== | ===== Обход ошибки при установке cookie на сайт в GS 3.0 ===== | ||