2016-04-18 4 views
1

コアとプラグインの機能をバイパスしてカスタマイズしたいと思います。 私はテンプレートからそれを行うことに成功しませんでした。dokuwiki - テンプレートからのバイパスコアまたはテンプレート関数

私は私のtpl_functions.phpに追加しようとするような何か:

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

は私の最初のアイデアは、ページがindexmenuプラグインをカスタマイズし、その後訪問してきたかどうかを確認することです。例えば

、私はページを訪問されている場合、この機能を確認するために行います。

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; 

} 

任意の助けが理解されるであろう。 ありがとうございます。

ジャン=バティスト・

答えて

2

あなたは何を求めているのDokuWikiとは何の関係もありません。あなたはPHP関数を置き換えたい。これは特定のPHP拡張機能の助けがなければ不可能です。詳細はIs it possible to replace a function in php (such as mail) and make it do something else?を参照してください。

+0

あなたの答えはAndreasありがとうございます。私はあなたの答えを理解しています。私はファイルシステムのファイルをバイパスする方法について考えていましたが、いくつかのcms:file-A.phpのテンプレートバイパスファイル(A.phpをバイパスするプラグインのA.php)で見つけることができます。だから、プラグインをカスタマイズするには(indexmenuとbookcreator - 私はそれが表示される方法を再考したいと思います)、あなたはプラグインを最良の方法としてハックするようお勧めしますか? – jbo

関連する問題