当你用{dede:channel type='self}'标签时,如果是当前栏目则不显示,有时我们的客户会让我们当前栏目也显示,怎么办呢?
如果只用标签的话是不可能实现的,我们只有修改dede系统文件来达到目的。
具体怎么实现呢?请看下面操作:
inc_typelink.php
第290-305行
以下为引用的内容: if($typetype=="self" && $row['ID']=="$typeid"){ if($myinnertext!=''){ $linkOkstr = $myinnertext; $row['typelink'] = $this->GetOneTypeUrl($row); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $likeType .= $linkOkstr; } }else{//非当前栏目 $row['typelink'] = $this->GetOneTypeUrl($row); if(is_array($dtp2->CTags)){ foreach($dtp2->CTags as $tagid=>$ctag) { if(isset($row[$ctag->GetName()])) $dtp2->Assign($tagid,$row[$ctag->GetName()]); } } $likeType .= $dtp2->GetResult(); } |
改成:
以下为引用的内容: if($typetype=="self" || $typetype=="top" || $typetype=="sun" || $typetype=="son") ) { $row['typelink'] = $this->GetOneTypeUrl($row); if(is_array($dtp2->CTags)){ foreach($dtp2->CTags as $tagid=>$ctag) { if(isset($row[$ctag->GetName()])) $dtp2->Assign($tagid,$row[$ctag->GetName()]); } } $likeType .= $dtp2->GetResult(); } |
这样再更新的你的栏目页就可以显示当前栏目了。