帝国cms实现列表页批量修改信息标题的方法
我们经常需要修改文章的标题,单个修改还好,如果需要修改多篇文章,一个一个来改就显得比较费力了,这里cms大学给出批量修改的方法。
我们可以根据自己的需要修改相应的文件,例如后台的文章列表页,可以修改/e/data/html/list/alllistinfo.php文件。
第一步、查找 $ignamer=$ftnr['igr']; 在其下面插入如下代码
折叠PHP 代码
function dp_editmoreinfotitle($add,$userid,$username){
global $empire,$dbtbpre,$class_r;
$classid=(int)$add['classid'];
$infoid=$add['infoid'];
$n1=$add['title'];
$count=count($infoid);
$tbname=$class_r[$classid]['tbname'];
if(!$classid||!$tbname||!$count)
{
printerror("请选择需要修改的信息",'history.go(-1)',1,0,1);
}
//操作权限
$doselfinfo=CheckLevel($userid,$username,$classid,"news");
if(!$doselfinfo['doeditinfo'])//编辑权限
{
printerror("没有足够的权限",'history.go(-1)',1,0,1);
}
$dopubid=0;
$donum=0;
$dolog='';
//主表
$infotb='';
for($i=0;$i<$count;$i++)
{
$doinfoid=(int)$infoid[$i];
if(emptyempty($infotb))
{
//索引表
$index_r=$empire->fetch1("select classid,checked from {$dbtbpre}ecms_".$tbname."_index where id='$doinfoid' limit 1");
if(!$index_r['classid'])
{
continue;
}
//返回表
$infotb=ReturnInfoMainTbname($tbname,$index_r['checked']);
}
$do1=$n1[$i];
$empire->query("update ".$infotb." set title='$do1' where id='$doinfoid'");
}
printerror("修改成功",$_SERVER['HTTP_REFERER'],1,0,1);
}
$enews=$_POST['enews'];
if($enews=="EditMoreInfoTitle"){
hCheckEcmsRHash();
dp_editmoreinfotitle($_POST,$logininid,$loginin);
}
第二步、查找 <?=$r[title]?> 找到后进行如下的操作
将<?=$r[title]?> 和相邻上下两行的 <a >和</a>标签删除(一共删除3行),换成代码:
折叠PHP 代码
<input type="text" name="title[]" value="<?=$oldtitle?>" style="width:99%">
第三步 查找 <span id="moveclassnav"></span>
在其上插入一行,输入代码:
折叠PHP 代码
<input type="submit" name="Submit7" value="批量修改标题" onclick="document.listform.enews.value='EditMoreInfoTitle';document.listform.action='ListAllInfo.php';">
补充说明:
1、修改完成后样式可能不是人人喜欢,可以根据自己的喜好做样式修改。
2、网站备份时请备份e/data/html/list文件夹。
3、可以扩展成批量修改作者、来源、图片、tag、关键字等等。
更多批量修改的例子
1、批量修改会员信息
2、批量修改tag属性
3、批量修改信息标题、文件名