关于dedecms内容页URL实现拼音伪静态的方法,这是转自dede技术论坛的帖子,由于原文很乱,一看就知道并非原创,所以进行了整理,大约花费了5分钟的时间,原文中的行号还都在,非常不利于复制,以下为原文:如果你需要可以作为参考:
可能你觉得DEDECMS本来就有这个功能,后台设置下,点生成静态页。。
错了。。我的这个可是动态的,非静态HTML,用urlwrite实现的伪静态。
喜欢的顶。当然要服务器支持urlwrite
好处:更改模板后,不用重新生成HTML,试试想10W数据,重新生成一遍的难度。
百度收录的友好度。拼音地址。
修改方法
编辑文件
include/inc_channel_unit_functi*****.php
第107行改为
if($rank!=0||$ismake==-1||$typeid==0||$money>0){ //动态文章
//return $GLOBALS['cfg_plus_dir']."/view.php?aid=$aid";
//keminar 修改
$articleDir = MfTypedir($artdir);
if($artdir=="") $articleDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir'];
return $articleDir."/".GetPinyin($title)."_aid_".$aid.".html";
}
第52行改为
if($rank!=0||$ismake==-1||$typeid==0||$money>0) //动态文章
{
if($GLOBALS['cfg_multi_site']=='Y')
{
$siteurl = $GLOBALS['cfg_basehost'];
}
//return $siteurl.$GLOBALS['cfg_plus_dir']."/view.php?aid=$aid";
//keminar 修改
$articleDir = MfTypedir($artdir);
if($artdir=="") $articleDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir'];
return $siteurl.$articleDir."/".GetPinyin($title)."_aid_".$aid.".html";
}
第146行改为
if($isdefault==-1)
{
//$reurl = $GLOBALS["cfg_plus_dir"]."/list.php?tid=".$typeid;
//keminar 修改
$reurl = $GLOBALS["cfg_cmspath"]."/".$typedir."_tid_".$typeid.".html";
}else if($ispart>0)
修改文件
include/inc_arclist_view.php
第810行改为
$purl = $this->GetCurUrl();
//keminar 修改
$t = strpos($purl,'_tid_');
$purl = substr($purl,0,$t);
$geturl = "tid_".$this->TypeID."_";
//$hidenform = "<input type='hidden' name='typeid' value='".$this->TypeID."'>";
//$hidenform .= "<input type='hidden' name='totalresult' value='".$this->totalresult."'>";
$purl .= "_".$geturl;
//获得上一页和下一页的链接
if($this->pageno != 1){
$prepage.="<a href='".$purl."pageno_".$prepagenum.".html'>上一页</a>";
$indexpage="<a href='".$purl."pageno_1.html'>首页</a>";
}
else{
$indexpage="<a href='#'>首页</a>";
}
if($this->pageno!=$totalpage && $totalpage>1){
$nextpage.="<a href='".$purl."pageno_".$nextpagenum.".html'>下一页</a>";
$endpage="<a href='".$purl."pageno_".$totalpage.".html'>末页</a>";
}
else{
$endpage="末页";
}
//获得数字链接
$listdd="";
$total_list = $list_len * 2 + 1;
if($this->pageno >= $total_list) {
$j = $this->pageno-$list_len;
$total_list = $this->pageno+$list_len;
if($total_list>$totalpage) $total_list=$totalpage;
}else{
$j=1;
if($total_list>$totalpage) $total_list=$totalpage;
}
for($j;$j<=$total_list;$j++){
if($j==$this->pageno) $listdd.= "<strong>$j</strong>";
else $listdd.="<a href='".$purl."pageno_".$j.".html'>".$j."</a>";
}
$plist = "";
//$plist .= "<form name='pagelist' action='".$this->GetCurUrl()."'>$hidenform";
$plist .= $maininfo.$indexpage.$prepage.$listdd.$nextpage.$endpage;
if($totalpage>$total_list){
$plist.="<input type='text' name='pageno' id='pageno' value='".$this->pageno."'>";
$plist.="<input type='button' id='button' name='plistgo' value='GO' onclick='plistgo();'>";
}
//$plist .= "</form>";
$plist .= "<script type='text/javascript'>
function plistgo(){
var pageno = document.getElementById("pageno").value;
window.location.href='".$purl."pageno_'+pageno+'.html';
};</script>";
return $plist;
修改模板
templets/jinsuo/article_image.htm
第10行添加
var url = location.href;
var t = url.indexOf('_aid_');
var aurl = url.slice(0,t);
第42行修改
if(npage==2){
if(namehand!='') location.href = namehand+".html";
else location.href = aurl+"_aid_{dede:field name='id'/}"+".html";
}else if(displaytype=='st' && namehand!=''){
location.href = namehand+"_"+(npage-1)+".html";
}else{
location.href = aurl+"_aid_{dede:field name='id'/}_pageno_"+(npage-1)+".html";
}
}
}
//下一张
function dPlayNext(){
if(npage==totalpage){ alert("没有了哦"); }
else{
if(displaytype=='st' && namehand!='') location.href = namehand+"_"+(npage+1)+".html";
else location.href = aurl+"_aid_{dede:field name='id'/}_pageno_"+(npage+1)+".html";
本文由整理,如需转载,注明出处。
上一篇 PHP代码实现301跳转页面实例