我想实现这样一个效果:列表页第一页显示栏目内容(帝国cms7.5栏目修改时,有一个单页内容)+文章列表,后面分页就只显示文章列表。想这样做的好处就是增加栏目页的主体内容,适合百度收录和竞争排名。如果是栏目是动态页面,可以用我之前写的:帝国CMS7.2列表页根据分页号PHP判断来输出不同内容,在列表模板里,用php判断下就行了。.
但是如果生成静态html时,栏目模板里我目前没找到适合的方法。于是,我就改了下源代码。实现方法如下:
一,自定义一个模板标签[!--class.context--],放到列表模板适当的位置。
二,找到文件e/class/functions.php
三,找到函数function ListHtml,找到$string=str_replace('[!--list.pageno--]
,在下面新增以下代码:
//首页
if($pagenum==1)
{
//子栏目、大栏目
if ($enews==0 || $enews==3) {
$classContext=$empire->fetch1("select eclasspagetext from {$dbtbpre}enewsclassadd where classid='$classid'");
$string=str_replace('[!--class.context--]',$classContext['eclasspagetext'],$string);
}
//标题分类
else if ($enews==5) {
$classContext=$empire->fetch1("select intro from {$dbtbpre}enewsinfotype where typeid='$classid'");
$string=str_replace('[!--class.context--]',$classContext['intro'],$string);
}
else{
$string=str_replace('[!--class.context--]','',$string);
}
}
else
{
$string=str_replace('[!--class.context--]','',$string);
}
搞定。