2016-04-18 8 views
1

Ich möchte Core und Plugin-Funktionen umgehen, um sie anzupassen. Ich habe es nicht geschafft, es aus Vorlage zu tun.dokuwiki - umgehen Core oder Template-Funktion von Vorlage

Ich versuche in meine tpl_functions.php etwas hinzufügen wie:

if (!function_exists('html_buildlist')) { 
    function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapper=false){ 
    // etc. 
    } 
} 

Meine erste Idee zu prüfen ist, ob die Seite besucht wurde, und dann das indexmenu Plugin anpassen.

Zum Beispiel, ich mache diese Funktion zu überprüfen, ob eine Seite wurde besucht:

function wt__pagevisited($id){ 

    if ($id == null) { 
    global $INFO; 
    $id = $INFO['id']; 
    } 

    // get cookie session info 
    $crumbs = isset($_SESSION[DOKU_COOKIE]['bc']) ? $_SESSION[DOKU_COOKIE]['bc'] : array(); 

    // check ID into breadcrumb 
    if(array_key_exists($id,$crumbs)) { 
    return true; 
    } 

    return false; 

} 

Jede Hilfe geschätzt wird. Vielen Dank im Voraus.

Jean-Baptiste

Antwort

2

Was Sie fragen, hat nichts mit DokuWiki zu tun. Sie möchten PHP-Funktionen ersetzen. Das ist ohne die Hilfe bestimmter PHP-Erweiterungen nicht möglich. Weitere Informationen finden Sie unter Is it possible to replace a function in php (such as mail) and make it do something else?.

+0

Danke Andreas für deine Antwort. Ich verstehe deine Antwort. Ich habe über einen Weg nachgedacht, mit einer Datei für Dateisystem zu umgehen, wie wir in einigen cms finden können: file-A.php in der Vorlagenumgehungsdatei A.php im plugin, die file-A.php im Kern umgehen. Also, um Plugins anzupassen (indexmenu und bookcreator - ich möchte die Art und Weise, wie es angezeigt wird, überdenken -) raten Sie, die Plugins als den besten Weg zu hacken? – jbo