LuchoWiki

Cosas que debería hacer más a menudo

User Tools

Site Tools


desarrollo:dokuwiki:patch-arctic-footer

Footer en DokuWiki

Este pequeño tutorial trata de cómo personalizar el footer en tu instalación de DokuWiki. El footer o pie de página es el área común a todas las páginas que se puede ver en la parte inferior de éstas; y en las instalaciones por defecto de DokuWiki incluye algunos iconos y enlaces por ejemplo al sitio de DokuWiki o al de Creative Commons.

Procedimiento

Para este ejemplo utilizaremos el template Arctic en su release de 2009 “Lemming”, un template basado en la apariencia del popular sistema para blogs Wordpress. Una vez descargado desde el sitio oficial, descomprímelo en una carpeta DOKU_BASE (que en nuestro ejemplo será /var/www/dokuwiki) dentro de su directorio de templates (lib/tpl/) y edita los archivos como se indica a continuación:

  1. Crea una copia de seguridad de main.php, por ejemplo main.php.bak.
  2. Abre main.php y busca la línea que contiene la siguiente llamada:
    <?php /*old includehook*/ @include(dirname(__FILE__).'/footer.html')?>
  3. Comenta esta llamada (colocando comentarios estilo C, por ejemplo).
  4. Agrega las líneas indicadas debajo de la línea comentada y guarda el archivo.
  5. :!: Crea en tu DokuWiki una página llamada :footer que contendrá el contenido que quieres utilizar como pie de página.

Código

    <?php
      $footerpage= ":footer";
      $footerfile= wikiFN($footerpage);
      if(@file_exists($footerfile) && auth_quickaclcheck($footerpage) >= AUTH_READ) {
        echo '<div class="footerinc">';
        echo p_wiki_xhtml(($footerpage), '', false);
        echo '</div>';
        }
      else { // get the base footer
        @include(dirname(__FILE__).'/footer.html');
        }
    ?>

Resultado

Una vez cargado este código, al visitar DokuWiki tus lectores verán el pie de página que haz diseñado en :footer. Si por alguna razón no puede cargarse (por ejemplo, porque esa página no existe o no tiene permisos globales de lectura), el footer estándar de DokuWiki se mostrará en su lugar.

El footer es un buen lugar para colocar información de contacto o licenciamiento de contenidos.

Parche

Las modificaciones explicadas anteriormente se pueden descargar en el siguiente archivo de parche (patch unificado):

arctic-main.php.patch
--- main.orig.php	2010-04-30 18:26:19.000000000 -0400
+++ main.orig_w_footer.php	2010-04-30 18:29:39.000000000 -0400
@@ -243,7 +243,21 @@
     <?php } ?>
     <?php } ?>
 
+<!--
     <?php /*old includehook*/ @include(dirname(__FILE__).'/footer.html')?>
+-->
+    <?php
+      $footerpage= ":footer";
+      $footerfile= wikiFN($footerpage);
+      if(@file_exists($footerfile) && auth_quickaclcheck($footerpage) >= AUTH_READ) {
+        echo '<div class="footerinc">';
+        echo p_wiki_xhtml(($footerpage), '', false);
+        echo '</div>';
+        }
+      else { // get the base footer
+        @include(dirname(__FILE__).'/footer.html');
+        }
+    ?>
 
   </div>
 </div>

Sólo aplícalo a tu instalación de DokuWiki copiando este archivo al directorio del template (DOKU_BASE/lib/tl/arctic/) y ejecutando en este directorio el comando UNIX patch como sigue1):

patch main.php < arctic-main.php.patch

Generalización

El Procedimiento indicado es generalizable a todos los templates de DokuWiki que incluyan un pie de página. Solamente encuentra en el archivo main.php la llamada (usualmente comentada) al footer footer.html y sustituye como se ha indicado arriba. Es algo útil cuando ya has ejecutado modificaciones a tu main.php y por tanto el parche no te sirve.

Créditos

Gracias a Michael Klier|title="Michael Klier"|fetchname="tooltip"|favicon|, el autor del template Arctic que es usado en esta Wiki.

Gracias a Carlos López quien me ha inspirado a escribir este tutorial y ha hecho ya uso de esta modificación en su wiki.


1)
¡recuerda tener una copia de seguridad de tu archivo main.php!
desarrollo/dokuwiki/patch-arctic-footer.txt · Last modified: 20120526 10:52 (external edit)