帝国CMS 6.6信息打点列表页批量添加TAGS

  有些时候,我们需要对几十条文章数据批量添加TAGS,而帝国CMS并没有自带这个成果。本文先容通过修改措施源码实此刻打点资讯时如何批量添加TAGS。结果如下图:

帝国CMS 6.6信息解决列表页批量添加TAGS

修改步调:

1、以下代码插手到admin/ecmsinfo.php 在任意2个elseif中间插入就行

elseif($enews=="AddTags_all")//列表批量添加Tags
{
$classid=$_POST['classid'];
$id=$_POST['id'];
$tags=$_POST['add_listtags'];
$newstime=time();
eInsertTags2($tags,$classid,$id,$newstime);
}

2、将以下代码插手到class/uesrfun.php

//插手TAG表
function eInsertTags2($tags,$classid,$id,$newstime){
global $empire,$dbtbpre,$class_r;
if(!trim($tags))
{
printerror("TAGS信息不能为空", "", 1, 0, 1);
return '';
}
$count = count($id); //统计ID数量
$tags = RepPostVar($tags);
$tag = explode(",", $tags);
if (empty($count))
{
printerror("未选择信息ID", "", 1, 0, 1);
}
if (count($tag)>1)
{
printerror("只能添加一个TAGS词", "", 1, 0, 1);
}

$classid=(int)$classid;
$id[$i] = (int)$id[$i];
$mid=(int)$class_r[$classid][modid];
for($i=0;$i<$count;$i++)
{
$tbname=$class_r[$classid][tbname];//获取表名
$r=$empire->fetch1("select tagid from {$dbtbpre}enewstags where tagname='$tags' limit 1");
$t = $empire->fetch1("select infotags from {$dbtbpre}ecms_".$tbname." where");
$taga=$t['infotags'].",".$tags; //组合TAGS
$tagb[$i] = explode(",",$taga); //配置数组
$tagc=array_values(array_unique($tagb[$i])); //数组排重
for($t=0;$t<count($tagc);$t++)
{//二级子轮回TAGS数组输出
$newtags[$i].= ",".$tagc[$t];
}
if($r[tagid])
{
$datar=$empire->fetch1("select tagid,classid,newstime from {$dbtbpre}enewstagsdata where tagid='$r[tagid]' and and mid='$mid' limit 1");
if($datar[tagid])
{
if($datar[classid]!=$classid||$datar[newstime]!=$newstime)
{
$empire->query("update {$dbtbpre}enewstagsdata set classid='$classid',newstime='$newstime' where tagid='$r[tagid]' and and mid='$mid' limit 1");
}
}
else
{
$empire->query("update {$dbtbpre}enewstags set num=num+1 where tagid='$r[tagid]'");
$empire->query("update {$dbtbpre}ecms_".$tbname." set infotags='".trim($newtags[$i],",")."' where");
$empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$r[tagid]','$classid','$id[$i]','$newstime','$mid');");
}
}
else
{
$empire->query("update {$dbtbpre}ecms_".$tbname." set infotags='".trim($newtags[$i],",")."' where");
$empire->query("insert into {$dbtbpre}enewstags(tagname,num,isgood,cid) values('$tagname',1,0,0);");
$tagid=$empire->lastid();
$empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$tagid','$classid','$id[$i]','$newstime','$mid');");
}
}
printerror("批量添加TAGS乐成", "", 1, 0, 1);
}

3、信息打点列表模板最后一列修改成以下代码 e/data/html/list/文件夹内

<td height="25" colspan="8">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="68%" height="25">
<font color="#666666">备注:多选框蓝色为未审核信息;宣布者赤色为会员投稿;信息ID粗体为未生成,点击ID可刷新页面.</font>
</td>
<td width="32%"> <input type="text" name="add_listtags" id="add_listtags" size="50" value="" />
<input type="submit" name="Submit100" value="添加TAGS" onClick="document.listform.enews.value='AddTags_all';document.listform.action='ecmsinfo.php';">
</td>
</tr>
</table>
</td>

帝国网站打点系统 v7.0 简体GBK下载

帝国CMS 6.6信息解决列表页批量添加TAGS

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/10602.html