Benutzer-Werkzeuge

Webseiten-Werkzeuge


dokuwiki:plugins:export

dokuwiki: Plugins einbinden

Nachdem ich diverse Plugins in dieses Wiki eingebunden habe, ist mir aufgefallen, dass es keine einheitliche Methode für das Einbinden der Plugins in die main.php gibt. Insbesondere viel mir das bei den Plugins html2pdf und odt auf. Damit beide Plugins auf gleiche Weise eingebunden werden - beides mit einem Icon als Button - habe ich mir den folgenden Code einfallen lassen.

Erläuterung

An erster Stelle lade ich erstmal beide Plugins und definiere die Variable $link. Die beiden nachfolgenden Abfragen überprüfen jeweils, ob das Plugin vorhanden und aktiviert ist. Sollte es nicht der Fall sein, wird die Variable $link nicht um den entsprechenden Link erweitert. Am Schluss überprüft das Script noch, ob sich die Variable geändert hat (Länge größer 0) und gibt diese dann analog den „breadcrumbs“ aus.

default-Template

Der Code sollte unterhalb der Aufrufe von tpl_breadcrumbs() und tpl_youarehere() stehen, alternativ kann er auch unter tpl_userinfo() und tpl_pageinfo() plaziert werden.

main.php

<?php
   $pdf_plugin = &plugin_load('action','html2pdf');
   $odt_plugin = &plugin_load('syntax','odt');
   $link = '';
   if ( $pdf_plugin && !plugin_isdisabled($pdf_plugin->getPluginName()) ) {
      $link .= '<a href="'.exportlink($ID, 'pdf').'" class="action tab_pdf" rel="nofollow">'.
      '<img src="'.DOKU_BASE.'lib/images/fileicons/pdf.png" alt="PDF Export"></a>'.DOKU_LF;
   }
   if ( $odt_plugin && !plugin_isdisabled($odt_plugin->getPluginName() ) ) {
      $link .='<a href="'.exportlink($ID, 'odt').'" class="action tab_pdf" rel="nofollow">'.
      '<img src="'.DOKU_BASE.'lib/images/fileicons/odt.png" alt="ODT Export"></a>'.DOKU_LF;
   }
   if (strlen($link)>0) echo '<div class="breadcrumbs">Export: '.$link.'</div>';
?>

dokubook-Template

Obiger Code passt leider nicht zum dokubook-Template. Daher wird die Ausgabezeile durch folgende ersetzt. Damit passt es direkt hinter dem Aufruf von tpl_pageinfo() in der main.php.

main.php

if (strlen($link)>0) echo $link;
dokuwiki/plugins/export.txt · Zuletzt geändert: 07.10.2012 18:31 (Externe Bearbeitung)