====== 取消Dokuwiki中的反向链接backlink ======
===== 什么是Dokuwiki的反向链接 =====
Dokuwiki默认模板会在页面的header中文章标题上面生成这个页面的反向链接。
如本文的反向链接就是:http://www.pythonclub.org/dokuwiki/template-backlink?do=backlink
可是我不喜欢这个设计,所以想着把Dokuwiki的这个backlink去掉,其实也很简单。
===== 取消Dokuwiki反向链接backlink =====
在你所用模板的main.php中查找类似下面代码的代码段:
把上面的
[[]]
"do=backlink"去掉就可以了,如果你要更改header部分的内容,你也可以在这里面改。
其中涉及到三个函数:tpl_link, wl, tpl_pagetitle。
==== tpl_link ====
tpl_link是生成link的函数,很简单,下面是函数定义在inc/template.php文件中:
function tpl_link($url,$name,$more=''){
print '$name";
return true;
}
==== wl ====
生成wiki页面的link,在inc/common.php中定义的:
/**
* This builds a link to a wikipage
*
* It handles URL rewriting and adds additional parameter if
* given in $more
*
* @author Andreas Gohr
*/
function wl($id='',$more='',$abs=false,$sep='&'){
global $conf;
if(is_array($more)){
$more = buildURLparams($more,$sep);
}else{
$more = str_replace(',',$sep,$more);
}
$id = idfilter($id);
if($abs){
$xlink = DOKU_URL;
}else{
$xlink = DOKU_BASE;
}
if($conf['userewrite'] == 2){
$xlink .= DOKU_SCRIPT.'/'.$id;
if($more) $xlink .= '?'.$more;
}elseif($conf['userewrite']){
$xlink .= $id;
if($more) $xlink .= '?'.$more;
}elseif($id){
$xlink .= DOKU_SCRIPT.'?id='.$id;
if($more) $xlink .= $sep.$more;
}else{
$xlink .= DOKU_SCRIPT;
if($more) $xlink .= '?'.$more;
}
return $xlink;
}
==== tpl_pagetitle ====
这个很好理解,就是页面的title,在inc/template.php中定义:
/**
* Prints or returns the name of the given page (current one if none given).
*
* If useheading is enabled this will use the first headline else
* the given ID is used.
*
* @author Andreas Gohr
*/
function tpl_pagetitle($id=null, $ret=false){
global $conf;
if(is_null($id)){
global $ID;
$id = $ID;
}
$name = $id;
if ($conf['useheading']) {
$title = p_get_first_heading($id);
if ($title) $name = $title;
}
if ($ret) {
return hsc($name);
} else {
print hsc($name);
return true;
}
}