DokuWiki

It's better when it's simple

Herramientas de usuario

Herramientas del sitio


es:devel:templates

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Ambos lados, revisión siguiente
es:devel:templates [2008-08-24 13:34]
85.84.148.95 created
es:devel:templates [2014-07-21 10:57] (actual)
82.158.57.250 [Servisio de limpieza automática]
Línea 1: Línea 1:
-====== Desarrollo de Plantillas para Dokuwiki ======+====== Desarrollo de Plantilla DokuWiki ======
  
-Puedes customizar el aspecto de [[:DokuWiki]] creando nuevas plantillasLas Plantillas son un conjunto de documentos PHP y CSS almacenados en el directorio ''<dokuwiki>/lib/tpl/''. En realidad la estructura de las  plantillas se definen mediante codigo HTML el código PHP es el responsable de introducir el contenido dinámico.+Puedes personalizar el diseño de [[:DokuWiki]] creando una nueva plantillaUna plantilla se determina por algunos archivos PHP y CSS almacenados en el directorio apartado de la ''<dokuwiki>/lib/tpl/'' carpeta(En realidadla 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 [[template: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 desee ''lib/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) 
 +  - Vea que que en [[:DokuWiki]] se maneja un [[devel:css|CSS]] utilizando su [[devel:css|CSS dispatcher]]. 
 +  - El manejo de los ajustes de configuración es análoga a [[devel:common_plugin_functions|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 ''[[devel:css#styleini|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'' 
 +    * ''[[devel:templates:main.php]]'' -- Estructura general de DokuWiki 
 +    * ''[[devel:templates:detail.php]]'' -- pagina de detalles de imagen. 
 +    * ''[[devel:templates:mediamanager.php]]'' -- popup medios de selección 
 +    * ''images/'' -- todas las imagenes usadas utilizadas en la pagina. 
 +    * ''conf/'' 
 +      * ''default.php'' -- [[devel:configuration#default_settings|ajustes por defecto]] (see ''[[#tpl_getConf]]''
 +      * ''metadata.php'' -- [[configuration#configuration metadata]] (vea ''[[devel:templates#tpl_getconf|tpl_getConf()]]''
 +    * ''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 [[devel:css#styleini|style.ini]] 
 +    * ''favicon.ico'' -- se utilizará si no existe en el directorio de los medio de comunicación (ver [[xref>tpl_getFavicon()|tpl_getFavicon()]]) 
 +    * ''template.info.txt'' -- Archivo de texto con [[devel:template info|informacion de la plantilla]] **es requerido!** 
 + 
 +===== Funciones ===== 
 +Lista de funciones que se pueden encontrar en la [[xref>inc/template.php|Documentación API]]. Algunas especiales se enumeran a continuación. 
 + 
 +  * **''[[xref>tpl_content()]]''** \\ Esta función permite visualizar el cuerpo de la pagina, en otras palabras el contenido de su pagina Wiki, inluido el [[:TOC|TDC]]. Puede evitar el TDC cambiando la llamada a "false": <code php> 
 +tpl_content(false); 
 +</code>Esto se puede utilizar para separar la tabla de contenido y colocarlo en otro lugar de la pantalla. Ver ''[[xref>tpl_toc()]]'' a continuación para ver más detalles. 
 + 
 +  * **''[[xref>tpl_toc()]]''** \\ Por defecto, la funcion ''tpl_content()'' se encargara de mostrar una [[:TOC|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 funcion ''tpl_toc()''. Al utilizarlo, es importante desactivar el automatico TDC colocando el argumento en ''false'' en la función ''tpl_content()'' .\\ \\ **Ejemplo:** \\ <code php> 
 +<div id="content"> 
 +    <?php tpl_content(false)?> 
 +</div> 
 + 
 +<div id="sidebar"> 
 +    <?php tpl_toc()?> 
 +</div> 
 +</code>La función ''tpl_toc()''  hace que el TDC de tres formas diferentes: Un variable global [[devel:environment#toc|$TOC]] , la página [[devel:metadata|metadata]] o el ''getTOC()'' método de [[devel:admin_plugins|administrador de plugins]]. Porque no hay metadatos disponibles para las revisiones antiguas o vista previa de ''tpl_toc()'' solo se puede utilizar la variable global [[devel:environment#toc|$TOC]] para dichos casos. Debido a que la variable [[devel:environment#toc|$TOC]]  es llenado por la página renderer esto sólo funcionará cuando ''tpl_toc()'' es llamado **después** ''tpl_content()''. Si esto no es posible en su composición de plantilla puede usar búferes de salida para eludir el problema. \\ \\ **Ejemplo:**\\ <code php> 
 +<?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> 
 +</code> 
 + 
 +  * **''[[xref>tpl_getConf()]]''** \\ Esta función se utiliza para acceder a la [[devel:configuration|configuación]] desde dentro de la pantilla. 
 + 
 +===== Variables globales y constantes ===== 
 +Para ver una lista completa de las variables globales útiles y constantes consulte la pagina de [[devel:environment|entorno]]. 
 + 
 +===== Servicio de limpieza automática ===== 
 + 
 +Casi al final del archivo [[devel:templates: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 ''[[:indexer|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 [[:search|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 [[:template|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.
es/devel/templates.1219577644.txt.gz · Última modificación: 2011-03-17 02:38 (editor externo)