首页 > 其他 > 网站日记>正文

帝国cms内容使用新模板后之前发布的老信息还是使用原来的模板

提示: 阅读权限:公开  

帝国cms是非常牛逼的内容管理系统。

每个信息页面,都有绑定自己的模板。字段的名称为:newstempid,保存在副表。

一般的,信息在添加的时候,对应的内容模板值,来源于信息所属的栏目里指定的内容模板。当然,我们也可以在添加信息的界面单独指定内容模板。

初学者,往往会碰到这样的问题:栏目设置里,更改了内容模板,但是那些存在的信息,却还是固执的坚持着他们的老模板,这也太恋旧了。蛋疼之。

其实,在模板的设置里,有个小小的checkbox,不为你注意,只要勾选了她,问题迎刃而解。她是名称是:应用于已生成的信息。

怕你找不到,给你贴了图,呵呵,免了。瞪大眼睛仔细找,好加深你的印象。

在html里,她的名称是tobetempinfo,php层面的代码则是:

//应用于已生成的信息
		if($add['tobetempinfo'])
		{
			UpdateAllDataTbField($tabler['tbname'],"newstempid='$add[newstempid]'"," where classid='$add[classid]'",1);
		}

 

如果勾选,那么更新现有的,该栏目下的,所有信息(审核的,未审核的,归档的)的绑定内容模板id。贴出

UpdateAllDataTbField

的代码,就更清楚了:

函数UpdateAllDataTbField位于文件/e/class/unctions.php#//更新副表字段内容中。
//更新副表字段内容
function UpdateAllDataTbField($tbname,$update,$where,$upcheck=1,$updoc=1){
	global $empire,$dbtbpre;
	//已审核
	$tbr=$empire->fetch1("select datatbs from {$dbtbpre}enewstable where tbname='$tbname' limit 1");
	if($tbr['datatbs'])
	{
		$dtbr=explode(',',$tbr['datatbs']);
		$count=count($dtbr);
		for($i=1;$i<$count-1;$i++)
		{
			$empire->query("update {$dbtbpre}ecms_".$tbname."_data_".$dtbr[$i]." set ".$update.$where);
		}
	}
	//未审核
	if($upcheck==1)
	{
		$empire->query("update {$dbtbpre}ecms_".$tbname."_check_data set ".$update.$where);
	}
	//归档
	if($updoc==1)
	{
		$empire->query("update {$dbtbpre}ecms_".$tbname."_doc_data set ".$update.$where);
	}
}

 

 

上一篇:【码段】php当日的时间段

下一篇:帝国cms二开之积分一百问

tags: 帝国cms 内容 使用 模板 发布 信息

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部