User Tools

Site Tools


ru:plugins:tips

Differences

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

Link to this comparison view

Next revision
Previous revision
ru:plugins:tips [2013/10/11 11:37]
Arkady created
ru:plugins:tips [2013/10/18 09:51] (current)
Arkady [Success and Error Messages]
Line 1: Line 1:
 ====== Советы и рекомендации ====== ====== Советы и рекомендации ======
  
-If you are a plugin developeryou should be aware of the new update system that is being integrated into GetSimple 3.1. Starting with this releasethe GetSimple ​installation will now notify a user when a new version of that particular plugin is available for download within ​Extend. [[plugins:​update notifications|These steps]] will help you as a developer to ensure that your plugin is compatible with this new process. ​+Если вы разработчик плагинов – вам следует ознакомиться с новой системой обновленийинтегрированной в GetSimple 3.1. Начиная с этой версии, GetSimple ​уведомляет пользова-теля при появлении новой версии плагина для загрузки в секции сайта GS Extend. ​При разработке плагина для достижения его совместимости с новой системой необходимо следовать рекомендациям,​ изложенным в секции ВИКИ ​[[ru:plugins:​update notifications|"​Взаимодействие плагинов и секции Extend сайта get-simple.info"​]]
  
 ===== Определение версии GetSimple ===== ===== Определение версии GetSimple =====
  
-Определение версии GetSimple – не такая простая задача,​ так как единственная доступная функция ''​return_site_ver()'',​ выводящая на экран номер версии в GS 2.03 и возвращающая результат в версии 3.0b уже устарела (прим. переводчика – пометка о том, что данная функция устарела ​ [[themes:​template_tags| в списке тэгов англоязычной Вики отсутствует]]). Самый простой способ определить,​ установлен ли плагин под GetSimple 2.03 или 3.0+, пожалуй,​ следующий:+Определение версии GetSimple – не такая простая задача,​ так как единственная доступная функция ''​return_site_ver()'',​ выводящая на экран номер версии в GS 2.03 и возвращающая результат в версии 3.0b уже устарела (прим. переводчика – пометка о том, что данная функция устарела ​(??) [[themes:​template_tags| в списке тэгов англоязычной Вики отсутствует]]). ​ 
 +На самом деле, по заявлению разработчиков,​ ''​return_site_ver()''​ применяется до сих пор и не является устаревшей. 
 + 
 +Самый простой способ определить,​ установлен ли плагин под GetSimple 2.03 или 3.0+:
  
 <​code>​ <​code>​
Line 19: 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 31: 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 53: 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'​) {
Line 98: Line 98:
 </​code>​ </​code>​
 Замените //​myplugin//​ наименованием своего плагина. Замените //​myplugin//​ наименованием своего плагина.
 +
 +====== Ссылки ======
 +
 +На главную [[ru:​|Содержание]]
 +
 +===== Страницы этой секции =====
 +
 +=== Разработка плагинов ===
 +  *[[ru:​plugins:​creation|Создание плагинов ]]
 +  *[[ru:​plugins:​extend_api|Работа с  Extend API ]]
 +  *[[ru:​plugins:​hooks_filters|Хуки и фильтры]]
 +  *[[ru:​plugins:​tabs_menus|Вкладки и боковые меню]]
 +  *[[ru:​plugins:​update_notifications|Взаимодействие плагинов и секции Extend сайта get-simple.info]]
  
ru/plugins/tips.1381491464.txt.gz · Last modified: 2013/10/11 11:37 by Arkady