帝国CMS7.5静态生成时,列表第一页增加显示栏目内容

我想实现这样一个效果:列表页第一页显示栏目内容(帝国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);
}

搞定。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注