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

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


wiki:plugin:data

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:plugin:data [2026/01/18 14:17] – [Как обновить данные?] VladPolskiywiki:plugin:data [2026/01/18 14:32] (текущий) – [Bugs, Feature Requests and Patches] VladPolskiy
Строка 462: Строка 462:
 Разумеется, вы можете открыть файл базы данных непосредственно в командной строке SQLite и управлять им с помощью SQL-запросов. Разумеется, вы можете открыть файл базы данных непосредственно в командной строке SQLite и управлять им с помощью SQL-запросов.
  
-==== What is the difference between Strata plugin and Data plugin? ====+==== В чём разница между плагином Strata и плагином Data? ====
  
-The [[plugin:strata|Strata Plugin]] is in the big lines equivalent to Data pluginHoweverit has more sophisticated query syntaxless and simpler 'aliastypes' system and additional features like graph or output based at an predefined templateSo for handling of more complicated data the Strata Plugin has more opportunities.+Плагин [[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.1768735063.txt.gz · Последнее изменение: VladPolskiy

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