帝国cms教程:在列表页面批量添加Tags的方法

  • 时间:
  • 浏览:28
  • 来源:湖北快3下注平台-湖北快3注册平台_湖北快3官网平台

  本文介绍通过修改进程源码实现在管理资讯时批量加带Tags,效果如下图:

  修改步骤:

  1、以下代码加入到admin/ecmsinfo.php,在任意有另4个 多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 (emptyempty($count))

{

printerror("未选择信息ID", "", 1, 0, 1);

}

if (count($tag)>1)

{

printerror("不到加带有另4个 多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 id='$id[$i]'");

$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 id='$id[$i]' 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 id='$id[$i]' 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 id='$id[$i]'");

$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 id='$id[$i]'");

$empire->query("insert into {$dbtbpre}enewstags(tagname,num,isgood,cid) values('$tags',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="200%" 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="200" value="" />

<input type="submit" name="Submit200" value="加带TAGS" onClick="document.listform.enews.value='AddTags_all';document.listform.action='ecmsinfo.php';">

</td>

</tr>

</table>

</td>

  原文地址:http://www.ishang123.com/CMS/empire/2012-09-23/247.html

Tags: 帝国cms   列表页   tags  
责任编辑:mcwm