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