User Tools

Site Tools


ru:plugins:tips

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
ru:plugins:tips [2013/10/15 10:54]
vladislav [Обход отсутствия хука Page-Delete в 2.03]
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 formatwhich 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 dateswhich will work with other languages only when no weekday or month names are displayedas 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 =====
  
-===== Working around the broken ​sitewide ​cookies in GS 3.0 ===== +Этот важнейший для сайта (sitewide) cookie-файл в GS 3.0 содержит корректную информацию только для пути ​/admin.
- +
-The important cookie is only valid for path /admin. +
-There is no (easy?) way to correct the problem for the frontend. +
-However, if you need it for the backend, e.g. linking to a php somewhere in the plugins folder, you can add the following code to your plugin (e.g. directly after setting up the hooks):+
  
 +Способа (или простого способа?​) ​ исправить ситуацию для фронтенда не существует. Тем не менее, если вам для бэкенда требуется совершить какое-то действие,​ например,​ под-ключить какой-то php-файл из папки плагина,​ вы можете добавить следующий код к ва-шему плагину,​ например,​ сразу после установки хуков:
 <​code>​ <​code>​
 if (!myplugin_is_frontend() && myplugin_gsversion() == '​3.0'​) { if (!myplugin_is_frontend() && myplugin_gsversion() == '​3.0'​) {
ru/plugins/tips.txt · Last modified: 2013/10/18 09:51 by Arkady