Инструменты пользователя

Инструменты сайта


wiki:plugin:data

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:plugin:data [2026/01/18 14:18] – [What is the difference between Strata plugin and Data plugin?] VladPolskiywiki:plugin:data [2026/01/18 14:32] (текущий) – [Bugs, Feature Requests and Patches] VladPolskiy
Строка 466: Строка 466:
 Плагин [[wiki:plugin:strata|Strata]] по своим функциональным возможностям является аналогом плагина Data. Однако он обладает более сложным синтаксисом запросов, упрощенной системой псевдонимов и дополнительными функциями, такими как построение графиков или вывод данных на основе предопределенного шаблона. Таким образом, для обработки более сложных данных плагин Strata предоставляет больше возможностей. Плагин [[wiki:plugin:strata|Strata]] по своим функциональным возможностям является аналогом плагина Data. Однако он обладает более сложным синтаксисом запросов, упрощенной системой псевдонимов и дополнительными функциями, такими как построение графиков или вывод данных на основе предопределенного шаблона. Таким образом, для обработки более сложных данных плагин Strata предоставляет больше возможностей.
  
-==== How do you filter empty fields/values? ====+==== Как отфильтровать пустые поля/значения? ====
  
-Suppose some entries contain empty fields and you want to display such entrieshow do you write the filter in the query to output these?+Предположим, некоторые записи содержат пустые поля, и вы хотите отобразить такие записикак написать фильтр в запросе, чтобы вывести их?
  
-e.g.+например
  
 <code> <code>
Строка 482: Строка 482:
 </code> </code>
  
-and if the query is:+и если запрос выглядит так:
 <code> <code>
 ---- datatable ---- ---- datatable ----
Строка 490: Строка 490:
 ---- ----
 </code> </code>
-the output does not show the above record+В выходных данных указанная выше запись не отображается.
  
-^The solution is to change the filter to a value that will always be populated. ^+^Решение состоит в том, чтобы изменить фильтр на значение, которое будет всегда отображаться. ^
 |<code>---- datatable ---- |<code>---- datatable ----
 cols    : %pageid% cols    : %pageid%
Строка 500: Строка 500:
 |  --- [[user>SFITCS|SFITCS]] //2016-10-15 04:58//| |  --- [[user>SFITCS|SFITCS]] //2016-10-15 04:58//|
  
-==== Why don't my variables/placeholders work when I create a table in a namespace template? ====+==== Почему мои переменные/заполнители не работают при создании таблицы в шаблоне пространства имен? ====
  
-DokuWiki calls [[phpfn>strftime]] on ''_template.txt'' when creating a new pageThis replaces some combinations of %[a-z] (for example, %title% will become [TAB]itle%). When using placeholders in ''_template.txt'' you should use double percent signs (<nowiki>%%title%%</nowiki>). Strftime will treat those as literal percent characters.+DokuWiki вызывает функцию [[phpfn>strftime]] ''_template.txt'' при создании новой страницыЭто заменяет некоторые комбинации %[az] (например, %title% станет [TAB]itle%). При использовании заполнителей ''_template.txt'' следует использовать двойные знаки процента (<nowiki>%%title%%</nowiki>). Функция strftime будет рассматривать их как обычные символы процента.
  
-==== Other Questions ====+==== Другие вопросы ====
  
-If you still have questionssearch the forum and if it hasn't been asked before ask your question therePlease leave bug reports on Github's issue tracker.+Если у вас остались вопросыпоищите на форуме, и если этот вопрос ещё не задавался, задайте его тамПожалуйста, сообщайте об ошибках в системе отслеживания проблем Github.
  
 ---- ----
  
-===== Customisations =====+===== Настройки =====
  
-**Important!** These are //hacks// -- there is no guarantee they'll always workand they will **not** survive updates+**Важно!** Это лишь //уловки// — нет гарантиичто они всегда будут работать, и они не сохранятся после обновлений.
  
-If it breaks you get to keep the pieces. :-)+Если он разобьется, вы сможете оставить себе обломки :-)
  
-==== Customise the Date Format ====+==== Настройте формат даты ====
  
-**NOTE:** The configuration setting for the PHP strftime function in ''/conf/dokuwiki.php'' also need to be changed (can also be changed via **Admin->Configuration**) <code>$conf['dformat'    = '%d/%m/%Y %H:%M';</code>+**ПРИМЕЧАНИЕ:** ''/conf/dokuwiki.php'' Также необходимо изменить параметр конфигурации функции PHP strftime (это можно сделать через Администрирование → Конфигурация ).  
 +<code>$conf['dformat'    = '%d/%m/%Y %H:%M';</code>
  
-To change the default date format from ''yy-mm-dd'' to ''dd-mm-yy'' (e.g. for Australia)+Чтобы изменить формат даты по умолчанию с ''yy-mm-dd'' на ''dd-mm-yy'' (например, для Австралии)
  
-Change this:+Измените это:
 <code php plugins/data/helper.php> <code php plugins/data/helper.php>
-    /** +    /**  
-     Replace placeholders in sql +     Заменяет заполнители в SQL  
-     */ +     */  
-    function _replacePlaceholdersInSQL(&$data) { +    function _replacePlaceholdersInSQL ( & $data )  {  
-        global $USERINFO; +        global  $USERINFO ;  
-        // allow current user name in filter+        // разрешить имя текущего пользователя в фильтре:  
-        $data['sql'] = str_replace('%user%', $_SERVER['REMOTE_USER'], $data['sql']); +        $data [ 'sql'  str_replace ( '%user%' $_SERVER [ 'REMOTE_USER' ] ,  $data [ 'sql' ] ) ;  
-        $data['sql'] = str_replace('%groups%', implode("','", (array) $USERINFO['grps']), $data['sql']$ +        $data [ 'sql'  str_replace ( '%groups%' implode ( "','" ( array )  $USERINFO [ 'grps' ] ) ,  $data [ 'sql' ] $ 
-        // allow current date in filter+         // разрешить текущую дату в фильтре:  
-        $data['sql'] = str_replace('%now%', dformat(null, '%Y-%m-%d'), $data['sql']); +        $data [ 'sql'  str_replace ( '%now%' , dformat ( null ,  '%Y-%m-%d' ) ,  $data [ 'sql' ] ) ;  
- +  
-        // language filter +        // языковой фильтр  
-        $data['sql'] = $this->makeTranslationReplacement($data['sql']);+        $data [ 'sql'  $this- > makeTranslationReplacement ( $data [ 'sql' ] ) ; 
     }     }
 </code> </code>
  
-to this:+к этому:
 <code php plugins/data/helper.php> <code php plugins/data/helper.php>
-    /** +    /**  
-     Replace placeholders in sql +     Заменяет заполнители в SQL  
-     */ +     */  
-    function _replacePlaceholdersInSQL(&$data) { +    function _replacePlaceholdersInSQL ( & $data )  {  
-        global $USERINFO; +        global  $USERINFO ;  
-        // allow current user name in filter+        // разрешить имя текущего пользователя в фильтре:  
-        $data['sql'] = str_replace('%user%', $_SERVER['REMOTE_USER'], $data['sql']); +        $data [ 'sql'  str_replace ( '%user%' $_SERVER [ 'REMOTE_USER' ] ,  $data [ 'sql' ] ) ;  
-        $data['sql'] = str_replace('%groups%', implode("','", (array) $USERINFO['grps']), $data['sql']$ +        $data [ 'sql'  str_replace ( '%groups%' implode ( "','" ( array )  $USERINFO [ 'grps' ] ) ,  $data [ 'sql' ] $ 
-        // allow current date in filter+         // разрешить текущую дату в фильтре:  
-        $data['sql'] = str_replace('%now%', dformat(null, '%d-%m-%Y'), $data['sql']); +        $data [ 'sql'  str_replace ( '%now%' , dformat ( null ,  '%d-%m-%Y' ) ,  $data [ 'sql' ] ) ;  
- +  
-        // language filter +        // языковой фильтр  
-        $data['sql'] = $this->makeTranslationReplacement($data['sql']);+        $data [ 'sql'  $this- > makeTranslationReplacement ( $data [ 'sql' ] ) ; 
     }     }
 </code> </code>
  
-and change this:+и измените это:
 <code php plugins/data/helper.php> <code php plugins/data/helper.php>
-switch($type) { +switch ( $type )  {  
-            case 'dt': +            case  'dt' :  
-                if(preg_match('/^(\d\d\d\d)-(\d\d?)-(\d\d?)$/', $value, $m)) { +                if ( preg_match ( '/^(\d\d\d\d)-(\d\d?)-(\d\d?)$/' $value ,  $m ) )  {  
-                    return sprintf('%d-%02d-%02d', $m[1], $m[2], $m[3]);+                    return  sprintf ( '%d-%02d-%02d' $m [ 1 ] ,  $m [ 2 ] ,  $m [ 3 ] ) ; 
                 }                 }
 </code> </code>
  
-to this:+к этому:
 <code php plugins/data/helper.php> <code php plugins/data/helper.php>
-switch($type) { +switch ( $type )  {  
-            case 'dt': +            case  'dt' :  
-                if(preg_match('/^(\d\d?)-(\d\d?)-(\d\d\d\d)$/', $value, $m)) { +                if ( preg_match ( '/^(\d\d?)-(\d\d?)-(\d\d\d\d)$/' $value ,  $m ) )  {  
-                    return sprintf('%02d-%02d-%d', $m[1], $m[2], $m[3]);+                    return  sprintf ( '%02d-%02d-%d' $m [ 1 ] ,  $m [ 2 ] ,  $m [ 3 ] ) ; 
                 }                 }
 </code> </code>
  
-and change this:+и измените это:
 <code javascript plugins/data/script.js> <code javascript plugins/data/script.js>
-/** +/**  
- Init datepicker for all date fields + Инициализация средства выбора даты для всех полей даты  
- */ + */  
-jQuery(function () { +jQuery ( function  ( )  {  
-    jQuery('.data_type_dt input').datepicker({ +    jQuery ( '.data_type_dt input' ) . datepicker ( {  
-        dateFormat: "yy-mm-dd", +        dateFormat :  "yy-mm-dd" ,  
-        changeMonth: true, +        changeMonth :  true ,  
-        changeYear: true +        changeYear :  true  
-    });+    } ) ;
 </code> </code>
  
-to this:+к этому:
 <code javascript plugins/data/script.js> <code javascript plugins/data/script.js>
-/** +/**  
- Init datepicker for all date fields + Инициализация средства выбора даты для всех полей даты  
- */ + */  
-jQuery(function () { +jQuery ( function  ( )  {  
-    jQuery('.data_type_dt input').datepicker({ +    jQuery ( '.data_type_dt input' ) . datepicker ( {  
-        dateFormat: "dd-mm-yy", +        dateFormat :  "dd-mm-yy" ,  
-        changeMonth: true, +        changeMonth :  true ,  
-        changeYear: true +        changeYear :  true  
-    });+    } ) ;
 </code>  --- [[user>SFITCS]] //2016-11-26 01:24// </code>  --- [[user>SFITCS]] //2016-11-26 01:24//
  
-===== BugsFeature Requests and Patches =====+===== Сообщения об ошибкахзапросы на добавление новых функций и исправления. ===== 
 + 
 +Пожалуйста, сообщайте об ошибках и предлагайте новые функции в [[https://github.com/splitbrain/dokuwiki-plugin-data/issues|системе отслеживания ошибок на GitHub]]. Патчи следует отправлять в формате унифицированного сравнения изменений (unified diff format) или в виде git-патчей для ветки devel. Или еще лучше: создайте форк репозитория на GitHub и отправьте запрос на слияние (merge request). 
 + 
 +===== Дополнения и Файлы===== 
 +  * [[https://www.dokuwiki.org/plugin:data|Ссылка на оригинальную статью]] 
 +  * {{ :wiki:plugin:splitbrain-dokuwiki-plugin-data-2024-01-30-2-gcecb410.zip |Скачать plugin data}}
  
-Please submit bugs and feature requests in the [[https://github.com/splitbrain/dokuwiki-plugin-data/issues|issue tracker on GitHub]]. Patches should be sent unified diff format or as git patches against the devel branch. Or even better: fork the repository at github and send a merge request. 
  
wiki/plugin/data.1768735129.txt.gz · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki