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
ru:plugins:tips [2013/10/15 10:53]
vladislav [Определение версии GetSimple]
ru:plugins:tips [2013/10/18 09:51] (current)
Arkady [Success and Error Messages]
Line 22: Line 22:
 ===== Обход отсутствия хука Page-Delete в 2.03 ===== ===== Обход отсутствия хука Page-Delete в 2.03 =====
  
-To trigger a function ​myplugin_function ​on page deletes in GetSimple 2.03 and 3.0+ use the following code:+Для запуска функции вашего плагина ​myplugin_function ​при удалении страницы в GetSimple 2.03 и 3.0+ применяйте следующий код:
  
 <​code>​ <​code>​
Line 34: Line 34:
 </​code>​ </​code>​
  
-===== Success and Error Messages ​=====+===== Вывод сообщений на экран сообщений об ошибках и об успешном завершении ​=====
  
-This describes how to display messages in back-end plugin pages. +В этой статье приводится описание возможности выводить на экран сообщения в бэкенд-страницах плагина.Предположим,​ есть ​переменных ​''​$isSuccess'' ​(успешно), ''​$canUndo''​(возможная отмена) и ''​$msg'' ​(сообщение пользователю),​ для соответствующих сообщений для пользователя. 
-Assume you have variables, ​''​$isSuccess'',​ ''​$canUndo'' ​and ''​$msg'' ​holding the messageTo display the message for your plugin ''​myplugin'',​ add the following code to your plugin:+ 
 +Для вывода на экран нужного сообщения,​ добавьте следующий код к вашему плагину ​myplugin
  
 <​code>​ <​code>​
Line 56: Line 57:
 </​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.1381834396.txt.gz · Last modified: 2013/10/15 10:53 by vladislav