在帝国cms默认的软件模型中如果不自己增加一个内容简介的字段(smalltext),那么生成后的页面:
<meta name="description" content="[!--pagedes--]" />
这个[!--pagedes--]的内容就为软件的标题,这样非常不利于优化,今天分享一个修改源码方法,让它截取内容简介的前200个字符。修改方法如下:
1、打开e/class/functions.php,找到第2236行:
//描述
$pagedes=htmlspecialchars($add[smalltext]);
if($pagedes==""){
$pagedes=htmlspecialchars($add[title]);
}
$newstemptext=Info_ReplaceSvars($newstemptext,$url,$add[classid],$pagetitle,$add[keyboard],$pagedes);
将上面的内容替换成下面的:
$softsay=$add[softsay];
$newstex=$add[smalltext];
if ($softsay=="") {
$pagedes=htmlspecialchars($newstex);
}else if ($newstex=="") {
$pagedes=htmlspecialchars(strip_tags($add[softsay]));
if(!empty($pagedes)){//截取字符
$pagedes=sub($pagedes,0,200,false);
}
}else{
$pagedes=$pagetitle;
}
$newstemptext=Info_ReplaceSvars($newstemptext,$url,$add[classid],$pagetitle,$add[keyboard],$pagedes);
就这样OK了,当你描述默认为空时,会自动截取简介的前200个字符作为描述内容。
更多信息请查看IT技术专栏