我们经常需要修改文章的标题,单个修改还好,如果需要修改多篇文章,一个一个来改就显得比较费力了,这里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、批量修改信息标题、文件名


