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

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


wiki:devel:templates

Различия

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

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

Следующая версия
Предыдущая версия
wiki:devel:templates [2024/08/15 01:53] – создано - внешнее изменение 127.0.0.1wiki:devel:templates [2025/02/10 18:50] (текущий) vladpolskiy
Строка 1: Строка 1:
 ====== Разработка шаблонов «Докувики» ====== ====== Разработка шаблонов «Докувики» ======
  
-:!: Страница нуждается в переработке. За точной информацией обращайтесь к [[devel:templates|английской версии страницы]]. :!:+:!: Страница нуждается в переработке. За точной информацией обращайтесь к [[https://www.dokuwiki.org/devel:templates|английской версии страницы]].
  
 Вы можете менять дизайн «[[..:dokuwiki|Докувики]]» по своему усмотрению, создав новый шаблон, который представляет собой несколько PHP- и CSS-файлов, сохранённых в каталоге и помещённых в ''<dokuwiki>/lib/tpl/'' (в действительности, шаблон написан на HTML, а PHP используется только для вставки контента). Вы можете менять дизайн «[[..:dokuwiki|Докувики]]» по своему усмотрению, создав новый шаблон, который представляет собой несколько PHP- и CSS-файлов, сохранённых в каталоге и помещённых в ''<dokuwiki>/lib/tpl/'' (в действительности, шаблон написан на HTML, а PHP используется только для вставки контента).
Строка 13: Строка 13:
   - Выберите новый шаблон на странице «Управление»;   - Выберите новый шаблон на странице «Управление»;
   - Ознакомьтесь с файлами шаблона (см. «[[templates#структура каталогов|Структуру каталогов]]»);   - Ознакомьтесь с файлами шаблона (см. «[[templates#структура каталогов|Структуру каталогов]]»);
-  - Посмотрите, как «Докувики» обрабатывает CSS с помощью [[..:devel:css|диспетчера CSS]]; +  - Посмотрите, как «Докувики» обрабатывает CSS с помощью [[wiki:devel:css|диспетчера CSS]]; 
-  - Обработка конфигурационных параметров аналогична [[common_plugin_functions|плагинам]]. Используйте ''%%tpl_getConf(<setting>)%%'' для получения параметров шаблона.+  - Обработка конфигурационных параметров аналогична [[wiki:common_plugin_functions|плагинам]]. Используйте ''%%tpl_getConf(<setting>)%%'' для получения параметров шаблона.
  
  
 ===== Структура каталогов ===== ===== Структура каталогов =====
  
-Шаблоны должны иметь следующую структуру директорий (все пути указаны относительно каталога шаблона). Файлы CSS определены в ''[[CSS#style.ini]]'', но вам следует предоставить как минимум два файла: один основной, другой для вывода на печать.+Шаблоны должны иметь следующую структуру директорий (все пути указаны относительно каталога шаблона). Файлы CSS определены в ''[[wiki:devel:style.ini]]'', но вам следует предоставить как минимум два файла: один основной, другой для вывода на печать.
  
   * ''<dokuwiki>/lib/tpl/<template>/''   * ''<dokuwiki>/lib/tpl/<template>/''
     * ''<filename>.css''     * ''<filename>.css''
-    * ''[[.:templates:main.php]]'' ([[devel:templates:main.php|англ.]]) --- главный файл разметки шаблона «Докувики» +    * ''[[wiki:devel:templates:main.php]]'' ([[wiki:devel:templates:main.php|англ.]]) --- главный файл разметки шаблона «Докувики» 
-    * ''[[.:templates:detail.php]]'' ([[devel:templates:detail.php|англ.]]) --- страница подробного описания изображения +    * ''[[wiki:devel:templates:detail.php]]'' ([[wiki:devel:templates:detail.php|англ.]]) --- страница подробного описания изображения 
-    * ''[[.:templates:mediamanager.php]]'' ([[devel:templates:mediamanager.php|англ.]]) --- медиаменеджер+    * ''[[wiki:devel:templates:mediamanager.php]]'' ([[wiki:devel:templates:mediamanager.php|англ.]]) --- медиаменеджер
     * ''images/'' --- все используемые в шаблоне изображения     * ''images/'' --- все используемые в шаблоне изображения
     * ''conf/''     * ''conf/''
-      * ''default.php'' --- [[.:configuration#настройки_по_умолчанию|стандартные настройки]] (см. ''[[#tpl_getConf]]''+      * ''default.php'' --- [[wiki:devel:configuration#настройки_по_умолчанию|стандартные настройки]] (см. ''[[#tpl_getConf]]''
-      * ''metadata.php'' --- [[.:configuration#метаданные_настроек|конфигурационные метаданные]] (см. ''[[#tpl_getConf()]]'')+      * ''metadata.php'' --- [[wiki:devel:configuration#метаданные_настроек|конфигурационные метаданные]] (см. ''[[#tpl_getConf()]]'')
     * ''lang/'' --- языковые файлы     * ''lang/'' --- языковые файлы
       * ''<код языка>/lang.php'' --- локализованные строки, используемые в шаблоне       * ''<код языка>/lang.php'' --- локализованные строки, используемые в шаблоне
       * ''<код языка>/settings.php'' --- локализованные строки, используемые на странице настроек «Докувики»       * ''<код языка>/settings.php'' --- локализованные строки, используемые на странице настроек «Докувики»
-    * ''style.ini'' --- см. [[.:css#style.ini]]+    * ''style.ini'' --- см. [[wiki:devel:style.ini]] 
 +    * ''favicon.ico'' -- (можно перезаписать, загрузив другой в корневое или вики-пространство имен при использовании [[xref>tpl_favicon()|tpl_favicon()]] is used) 
 +    * ''template.info.txt'' **-- Требуется** текстовый файл с  [[wiki:devel:template info|информацией о шаблоне]].
  
 +Обработка параметров конфигурации аналогична [[wiki:devel:common_plugin_functions|плагинам ]]. Используйте ''%%tpl_getConf(<setting>)%%'' для получения пользовательских настроек шаблона. Сохраненные локальные настройки хранятся в глобальном ''conf/local.php''.
  
-===== Функции =====+=====Объяснение внутренних механизмов===== 
 +==== Функции ====
  
 Список доступных функций вы можете найти здесь: [[xref>inc/template.php|API documentation]]. Самые важные приведены ниже. Список доступных функций вы можете найти здесь: [[xref>inc/template.php|API documentation]]. Самые важные приведены ниже.
  
  
-==== tpl_content() ==== +* **''[[xref>tpl_content()]]''**
 Эта функция выводит тело страницы, другими словами, всё содержимое страницы, включая [[..:toc|содержание]] (TOC). Вы можете отключить вывод содержания вызовом функции с параметром ''false'': Эта функция выводит тело страницы, другими словами, всё содержимое страницы, включая [[..:toc|содержание]] (TOC). Вы можете отключить вывод содержания вызовом функции с параметром ''false'':
  
Строка 52: Строка 55:
  
  
-==== tpl_toc() ==== +* **''[[xref>tpl_toc()]]''**
 По умолчанию, функция ''[[#tpl_content()]]'' сама позаботится о выводе [[..:TOC|содержания]], приводя его в актуальное состояние. Если ваш шаблон использует боковую колонку или более сложную компоновку, у вас может появится желание разместить содержание независимо от содержимого страницы. Это можно сделать функцией ''tpl_toc()''. При её использовании важно запретить автоматическое размещение содержания вызовом функции ''tpl_content()'' с аргументом ''false''. По умолчанию, функция ''[[#tpl_content()]]'' сама позаботится о выводе [[..:TOC|содержания]], приводя его в актуальное состояние. Если ваш шаблон использует боковую колонку или более сложную компоновку, у вас может появится желание разместить содержание независимо от содержимого страницы. Это можно сделать функцией ''tpl_toc()''. При её использовании важно запретить автоматическое размещение содержания вызовом функции ''tpl_content()'' с аргументом ''false''.
  
Строка 90: Строка 92:
  
  
-==== tpl_getConf() ====+  * **''[[xref>tpl_getConf()|tpl_getConf('key')]]''** \\ Функция используется для доступа к [[..:devel:configuration|конфигурационным параметрам]] из шаблона.
  
-Функция используется для доступа к [[..:devel:configuration|конфигурационным параметрам]] из шаблона.+  * **''[[xref>tpl_getLang()|tpl_getLang('key')]]''** \\ Эта функция используется для доступа к локализованным строкам шаблона. Подробности см. в документации по разработке [[wiki:devel:localization]] development documentation.
  
 +  * Кроме того, доступно множество других полезных функций шаблона. Пожалуйста, посмотрите в [[xref>inc/template.php|документации API]].
  
 ===== Глобальные переменные и константы ===== ===== Глобальные переменные и константы =====
Строка 133: Строка 136:
 «Докувики» поставляется с образцом файла ''footer.html'', содержащим кнопки лицензии «Creative Commons RDF». «Докувики» поставляется с образцом файла ''footer.html'', содержащим кнопки лицензии «Creative Commons RDF».
 https://www.dokuwiki.org/wiki:devel:templates https://www.dokuwiki.org/wiki:devel:templates
 +==== Дополнения и Файлы====
 +К сожалению новый шаблон если имеет ширину страницы > 75em то таблицы в в настройке конфигурации не войдут в размер шаблона. Так как это отдельный плаген и для него отдельный стиль. Для того чтобы его изменить необходимо в файле <dokuwiki>/lib/plugins/config/style.css править значение width в следующих строках кода:
 +<code css>
 +#config__manager td input.edit {
 +    width: 30em;
 +}
 +#config__manager td .input {
 +    width: 30.8em;
 +}
 +#config__manager td select.edit { }
 +#config__manager td textarea.edit {
 +    width: 27.5em;
 +    height: 4em;
 +}
 +</code>
 +заменить на следующие значения:
 +<code css>
 +#config__manager td input.edit {
 +    width: 20em;
 +}
 +#config__manager td .input {
 +    width: 20.8em;
 +}
 +#config__manager td select.edit { }
 +#config__manager td textarea.edit {
 +    width: auto;
 +    height: 4em;
 +}
 +</code>
 +  * Боковая панель Aside справа
 +<dokuwiki>/lib/tpl/starter/css/structure.css
 +<code css>
 +#dokuwiki__site .wrapper {
 +    position: relative;
 +}
 +
 +    #dokuwiki__aside {
 +        width: __sidebar_width__;
 +        float: right; /* по умолчанию слева (float: left;) */
 +        position: relative;
 +        display: block;
 +    }
 +    [dir=rtl] #dokuwiki__aside {
 +        float: right;
 +    }
 +</code>
wiki/devel/templates.1723675982.txt.gz · Последнее изменение: 127.0.0.1