Tabla de Contenidos
Desarrollo de Plantilla DokuWiki
Puedes personalizar el diseño de DokuWiki creando una nueva plantilla. Una plantilla se determina por algunos archivos PHP y CSS almacenados en el directorio apartado de la <dokuwiki>/lib/tpl/
carpeta. (En realidad, la plantilla esta realizada en HTML, el PHP se utiliza para insertar contenido.)
Introducción
La mejor manera de hacer una plantilla es a partir de una ya existente como punto de partida. Es una buena idea es utilizar la pantilla starter porque es limpia y se ajusta a los estandares de DokuWiki.
Los nombres de las plantillas deben estar en minuscula (carpeta), y no deben contener “.” (punto) O “_” (guión bajo) dado que no estan permitidos.
- Instalar la plantilla Starter
- Renombre la carpeta
lib/tpl/starter
al nombre que usted deseelib/tpl/SuNOMBREdePlantilla
- Seleccione la nueva plantilla con el gestor de configuración.
- A continuacion eche un vistazo a los archivos de su plantilla (ver estructura de directorios mas abajo)
- El manejo de los ajustes de configuración es análoga a plugins. Use
tpl_getConf(<setting>)
para recuperar la configuración de las plantillas personalizadas.
Estructura de Directorios
Las plantillas deben seguir la siguiente estructura de directorios (las rutas son relativas al directorio de templates).
Los archivos CSS se especifican en el archivo style.ini
. Usa tantos archivos quieras, pero debes proporcionar un CSS para las presentaciones en pantalla y otro para la impresión.
<dokuwiki>/lib/tpl/<template>/
<nombreDeARCHIVO>.css
main.php
– Estructura general de DokuWikidetail.php
– pagina de detalles de imagen.mediamanager.php
– popup medios de selecciónimages/
– todas las imagenes usadas utilizadas en la pagina.conf/
lang/
– archivos para idiomas.<lang code>/lang.php
– cadenas de localización utilizados en la plantilla<lang code>/settings.php
– cadenas de configuración utilizadas en el gestor de configuración.
style.ini
– ver style.inifavicon.ico
– se utilizará si no existe en el directorio de los medio de comunicación (ver tpl_getFavicon())template.info.txt
– Archivo de texto con informacion de la plantilla es requerido!
Funciones
Lista de funciones que se pueden encontrar en la Documentación API. Algunas especiales se enumeran a continuación.
tpl_content()
Esta función permite visualizar el cuerpo de la pagina, en otras palabras el contenido de su pagina Wiki, inluido el TDC. Puede evitar el TDC cambiando la llamada a “false”:tpl_content(false);
Esto se puede utilizar para separar la tabla de contenido y colocarlo en otro lugar de la pantalla. Ver
tpl_toc()
a continuación para ver más detalles.
tpl_toc()
Por defecto, la funciontpl_content()
se encargara de mostrar una tabla de contenidos , anteponiendo el contenido real de la página. Si la plantilla utiliza una barra lateral u otro diseño más complejo es posible que desee colocar el TDC de forma independiente al contenido de la página. Esto se puede hacer con la funciontpl_toc()
. Al utilizarlo, es importante desactivar el automatico TDC colocando el argumento enfalse
en la funcióntpl_content()
.
Ejemplo:
<div id="content"> <?php tpl_content(false)?> </div> <div id="sidebar"> <?php tpl_toc()?> </div>
La función
tpl_toc()
hace que el TDC de tres formas diferentes: Un variable global $TOC , la página metadata o elgetTOC()
método de administrador de plugins. Porque no hay metadatos disponibles para las revisiones antiguas o vista previa detpl_toc()
solo se puede utilizar la variable global $TOC para dichos casos. Debido a que la variable $TOC es llenado por la página renderer esto sólo funcionará cuandotpl_toc()
es llamado despuéstpl_content()
. Si esto no es posible en su composición de plantilla puede usar búferes de salida para eludir el problema.
Ejemplo:
<?php // procesar el contenido en el búfer para su uso a posterior ob_start(); tpl_content(false); $buffer = ob_get_clean(); ?> <div id="sidebar"> <?php tpl_toc()?> </div> <div id="content"> <?php echo $buffer?> </div>
Variables globales y constantes
Para ver una lista completa de las variables globales útiles y constantes consulte la pagina de entorno.
Servicio de limpieza automática
Casi al final del archivo main.php de la plantilla por defecto verá una llamada a la función tpl_indexerWebBug()
. La función genera una etiqueta HTML <img>
que da como resultado una solicitud para lib/exe/indexer.php
. Esta parte vital de DokuWiki proporciona importantes trabajos de limpieza para mantener el wiki funcionando sin problemas. ATodas las plantillas deben incluir esta función, sin que la wiki no funcione correctamente (por ejemplo no será construido el Indice de Busquedas ).
Clase 'dokuwiki'
La clase denominada dokuwiki
debe añadirse a algún elemento que rodea contenido (ya sea alrededor de todo o al menos alrededor de tpl_content ()
) en main.php, detail.php y mediamanager.php de cada plantilla. Esto es para asegurarse de que los estilos de DokuWiki no interfieran con otros estilos si se integra en un sitio existente potencialmente conflictivos CSS.
Incluya Ganchos/Hooks
Incluye ganchos son una manera simple de añadir algo de contenido estático a la instalación de DokuWiki sin tener que escribir su propia plantilla. Usted las puede utilizar para agregar un encabezado estándar o logotipo de la empresa a cada página o agregar un descargo de responsabilidad en la parte inferior de cada página.
Plantilla predeterminada del DocuWiki's busca archivos con nombres especiales en el directorio de plantillas y simplemente en los lugares correctos incluye al visualizar la página. Puede añadir cualquier código HTML que desea en estos archivos. Por supuesto, esto sólo funciona si está usando la plantilla por defecto o una plantilla de apoyo a la misma que incluya Hooks (como la Starter Template).
Sugerencia para los desarrolladores de PHP: Usted puede ser feliz de saber que incluso se puede incluir PHP en estos archivos.
Hooks Disponibles
Todos estos archivos se buscan en el directorio lib/tpl/default/
.
Filename | Position of included HTML |
---|---|
meta.html | Dentro de la <head> HTML, utilice esta opción para agregar estilos o metaheaders adicionales |
topheader.html | En la parte superior de la página de la derecha después de la etiqueta <body> |
header.html | Por encima de la barra azul superior, debajo del título y el nombre de la página wiki |
pageheader.html | A continuación el breadcrumbs, por encima del contenido real |
pagefooter.html | Por encima de la barra azul inferior, debajo de la última cambiado Fecha |
footer.html | Al final de la página justo antes de la etiqueta </ body> |
DokuWiki viene con un ejemplo footer.html
contiene algunos botones y una licencia CC descripción RDF.
See also include hooks for the user explanation.