本文介绍了织梦dedecms限制拼音网址长度的处理方法,解决思路:打开这个文件inc_fun_funAdmin.php,把$restr .= "_ ";替换成$restr .= "- ",然后再把这个文件channelunit.func.php,继续根据教程替换代码就可以了。
以前92建站介绍过使用拼音首字母作栏目名的方法,下面来说说的方法。
实现教程:
一、网址长度及_替换成-方法
打开 include/inc/inc_fun_funAdmin.php
for($i=0;$i<$slen;$i++){
if(ord($str[$i])>0x80)
{
$c = $str[$i].$str[$i+1];
$i++;
if(isset($pinyins[$c])){
if($ishead==0) $restr .= $pinyins[$c];
else $restr .= $pinyins[$c][0];
}else $restr .= "_";
}else if( eregi("[a-z0-9]",$str[$i]) ){ $restr .= $str[$i]; }
else{ $restr .= "_"; }
}
把$restr .= "_";替换成$restr .= "-";
把for($i=0;$i<$slen;$i++)里面的$slen改成你想要的数字,则标题对大于这个数字的进行截断。实现网址按你的要求进行显示。
二、网址去掉id的方法
再include文件夹下找到channelunit.func.php
再里面找到
if(ereg('\{p',$articleRule))
{
$articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule);
$articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);
}
$articleUrl = '/'.ereg_replace('^/','',$articleRule);
return $articleUrl;
}
}
注意红色部分:把它替换为:
$articleRule = str_replace('{pinyin}',GetPinyin($title),$articleRule);
这样就介绍完了,放到模板里面直接使用就行了。