2024年03月19日 帝国cms教程 帝国cms插件 懒猪技术
帝国cms实现批量推送信息到标题分类,原理和推荐到专题一样,可以通过后台多选然后推送,这样可以提高后台编辑效率,不用一条条修改。下面是懒猪模板网根据帝国cms论坛上sbgl发布的插件,进行了优化整理,供大家参考。
第一步,在e/admin/文件夹下新建一个文件夹pushinfotype,再新建一个php文件,命名为PushToInfoType.php。将下列代码粘贴到PushToInfoType.php。
<?php ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT); define('EmpireCMSAdmin','1'); require("../../class/connect.php"); require("../../class/db_sql.php"); require("../../class/functions.php"); require "../".LoadLang("pub/fun.php"); require("../../class/t_functions.php"); require("../../data/dbcache/class.php"); require("../../data/dbcache/MemberLevel.php"); require("../../class/chtmlfun.php"); $link=db_connect(); $empire=new mysqlquery(); $editor=1; //验证用户 $lur=is_login(); $logininid=$lur['userid']; $loginin=$lur['username']; $loginrnd=$lur['rnd']; $loginlevel=$lur['groupid']; $loginadminstyleid=$lur['adminstyleid']; //ehash $ecms_hashur=hReturnEcmsHashStrAll(); //推送信息到标题分类 function PushInfoToType($add,$userid,$username){ global $empire,$dbtbpre,$lur,$class_r; $classid=(int)$add['classid']; $cid=(int)$add['cid']; $id=explode(',',$add[ids]); $count=count($id); //表名 $tbname=''; if($classid) { $tbname=$class_r[$classid]['tbname']; } if(!$tbname) { printerror('ErrorUrl',''); } for($i=0;$i<$count;$i++) { $myid=intval($id[$i]); $empire->query("update {$dbtbpre}ecms_".$tbname." SET ttid='$cid' where classid='$classid' and id='$myid'"); } ReTtHtml($cid); //刷新标题分类 echo"<script>alert('标题分类成功');window.close();</script>"; exit(); } $enews=$_POST['enews']; if(empty($enews)) {$enews=$_GET['enews'];} if($enews=='PushInfoToType')//推送标题分类 { PushInfoToType($_POST,$logininid,$loginin); } $add=''; //分类 $cid=(int)$_GET['cid']; //栏目 $classid=(int)$_GET['classid']; //ID $ids=RepPostStr($_GET['id'],1); if(!$ids) { echo"<script>alert('请选择信息');window.close();</script>"; exit(); } //标题分类 $cttidswhere=''; $tts=''; $caddr=$empire->fetch1("select ttids from zhuanti_enewsclassadd where classid='$classid'"); $modid=7; if($caddr['ttids']!='-') { if($caddr['ttids']&&$caddr['ttids']!=',') { $cttidswhere=' and typeid in ('.substr($caddr['ttids'],1,-1).')'; } $ttsql=$empire->query("select typeid,tname from zhuanti_enewsinfotype where mid='$modid'".$cttidswhere." order by myorder"); while($ttr=$empire->fetch($ttsql)) { $select=''; $tts.="<option value='$ttr[typeid]'".$select.">$ttr[tname]</option>"; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>推送信息到标题分类</title> <link href="../adminstyle/<?=$loginadminstyleid?>/adminstyle.css" rel="stylesheet" type="text/css"> </head> <body> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td>位置: 设置信息标题分类 <div align="right"> </div></td> </tr> </table> <form name="form1" method="post" action="PushToInfoType.php"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <?=$ecms_hashur['form']?> <tr> <td>信息ID:<?=$ids?></td> </tr> </table> <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" class="tableborder"> <tr class="header"> <td width="100%" height="25"> <div align="center">所属分类</div></td> </tr> <tr bgcolor="#FFFFFF" id="chsp"> <td> <div align="center"> <?=$tts?"<select name='cid'><option value='0'>标题分类</option>$tts</select>":""?> </div></td> </tr> <tr bgcolor="#FFFFFF"> <td height="25" colspan="2"><div align="center"> <input type="submit" name="Submit2" value="确定推送"> <input type="button" name="Submit3" value="取消" onclick="window.close();"> <input name="enews" type="hidden" id="enews" value="PushInfoToType"> <input name="classid" type="hidden" id="classid" value="<?=$classid?>"> <input name="ids" type="hidden" id="ids" value="<?=$ids?>"> </div></td> </tr> </table> </form> </body> </html> <? db_close(); $empire=null; ?>
如图:
接下来我再说明下要修改的地方:
1、75行,select ttids from zhuanti_enewsclassadd,这里我的数据库表前缀是zhuanti_,改成你自己的数据库表前缀,比如帝国cms默认的数据库表前缀phome_
2、83行,select typeid,tname from zhuanti_enewsinfotype,同上一步一样,修改数据库表前缀zhuanti_,改成你自己的数据库表前缀。
3、76行,$modid
=7;这是数据库表模型,如果是新闻数据库表模型,这里改成1,可以在“系统”-“数据表与系统模型”-“管理数据表”查看ID号。
第二步,修改/e/data/html/list/listinfo.php文件,在</script>之前,加上下面的代码:
function PushToInfoType(form) { var id=''; id=GetSelectId(form); if(id=='') { alert('请选择要推送的信息'); return false; } window.open('pushinfotype/PushToInfoType.php?<?=$ecms_hashur['ehref']?>&classid=<?=$classid?>&id='+id,'PushToInfoType','width=360,height=500,scrollbars=yes,left=300,top=150,resizable=yes'); }
第三步,在:<input type="button" name="Submit52" value="推送至专题" onClick="PushInfoToZt(this.form);">(大概396行)这行下增加:
<input type="button" name="Submit54" value="推送标题分类" onClick="PushToInfoType(this.form);">
最后,保存后,到后台看有没有推送按钮,测试是否成功
以上就是关于帝国cms插件中"帝国cms7.5批量推送信息到分类标题插件"的全部内容,如果有遇到帝国cms插件其他问题的,可以在评论留言,或者加微信咨询。
本文链接:http://so.lmcjl.com/news/51/