本篇文章给大家谈谈帝国cms数组,以及帝国cms自定义列表对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、帝国cms怎么批量添加信息的tags
- 2、利用帝国CMS来仿站需要用到的函数有哪些
- 3、帝国cms 搜索代码用get跳转到/e/action/listinfo.php表单中的参数怎么传递
- 4、帝国CMS中的模板用PHP代码写的 $nid = $GLOBALS[navclassid]; 这句是什么意思
- 5、如何查看帝国CMS中navclassid这个变量的说明,是PHP的CMS
- 6、帝国cms中在php代码里面怎么引用[!
1、帝国cms怎么批量添加信息的tags
修改步骤:
1、以下代码加入到admin/ecmsinfo.php,在任意2个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("只能添加一个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;$tcount($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="100%" 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="50" value="" /
input type="submit" name="Submit100" value="添加TAGS" onClick="document.listform.enews.value='AddTags_all';document.listform.action='ecmsinfo.php';"
/td
/tr
/table
/td
2、利用帝国CMS来仿站需要用到的函数有哪些
一、esub()截取字段函数语法:esub(字符串,截取字数,后缀)
说明:后缀为截取字符后附带内容,此参数可以省略。
使用范例:
,返回结果为:123456
,返回结果为:123456...
二、date()转换时间格式函数
语法:date(时间格式,时间戳)
说明:PHP本身函数,使用说明可以参考:
使用范例:
,返回结果为:2010-06-30 10:30:10
三、format_datetime()转换时间格式函数2
语法:format_datetime(正常时间,时间格式)
说明:和date()的区别是format_datetime是转换正常时间,而date是转换unix时间戳。
使用范例:
,返回结果为:06/30
四、通过ID取得栏目地址函数
语法:sys_ReturnBqClassname($r,9)
说明:$r为含栏目ID的数组,变量名可任意命名。
使用范例:取得栏目ID=2的栏目地址。
$cr['classid']=2;
$classurl=sys_ReturnBqClassname($cr,9);
echo $classurl;
?
通过ID取得栏目地址的其他方法:
(1)、/e/public/ClassUrl/?classid=栏目ID
(2)、/
五、取得信息内容页地址函数
语法:sys_ReturnBqTitleLink($r)
说明:$r为含“id,classid,newspath,filename,groupid,titleurl”字段内容的数组,变量名可任意命名。
使用范例:取得信息ID=8的新闻页面地址
$nr=$empire-fetch1("select
id,classid,newspath,filename,groupid,titleurl from {$dbtbpre}ecms_news where
id='8' limit 1");
$titleurl=sys_ReturnBqTitleLink($nr);
echo $titleurl;
?
通过ID取得信息内容页地址的其他方法:
/e/public/InfoUrl/?classid=栏目IDid=信息ID
六、提示信息函数1
语法:printerror($error,$gotourl,$ecms,$noautourl,$novar)
说明:
$error:提示信息内容,可以为语言包变量,也可以直接提示内容。
$gotourl:提示信息转向链接地址
$ecms:0为后台提示信息、1为前台提示信息、8为后台提示信息(alert方式)、9为前台提示信息(alert方式)
$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0
$novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0
3、帝国cms 搜索代码用get跳转到/e/action/listinfo.php表单中的参数怎么传递
我明白你的意思。但我建议不要用 GET 传递这样的变量。。很容易出问题。。在没有看到代码之前,我也很难下定论你哪里出了问题。。
建议你用一个 SESSION 变量来传递数组变量比较好一点。。只不过这需要多跳转一下页面。。
思路如下:
某一页,POST 提交到 play.php 页
如果 play.php 页收到 POST 请求。
使用 SESSION 记录下所有 ID。
play.php 自己跳转往自己,防刷新。
中断程序。免得下面的播放器显示了。。
$_SESSION['ids']=$_POST['id'];
如果 play.php 没有收到 POST 请求。显示播放器开始播放。。
url.php 页。读取 SESSION 记录下来的 ID。生成地址列表。。
$id = $_SESSION['ids'][0];
4、帝国CMS中的模板用PHP代码写的 $nid = $GLOBALS[navclassid]; 这句是什么意思
该变量是当前栏目id,可以用 $navclassid 或 $GLOBALS[navclassid] 都可以。
$GLOBALS 是 php 中的超全局变量,你在页面中 var_dump 输出看看就知道了。
$class_r[$nid]就很明显了,$class_r存着所有栏目的数据,通过栏目id(也就是问题中的$nid)拿到当前栏目的所有的值。
5、如何查看帝国CMS中navclassid这个变量的说明,是PHP的CMS
程序扩展变量说明:通过这些变量可实现各种更复杂的系统.
1、列表模板变量说明:
当前栏目id:$navclassid或$GLOBALS[navclassid]
通过这个变量可以输出这个栏目id的所有数据(如:select * from phome_enewsclass where classid='$GLOBALS[navclassid]')
2、内容模板变量说明:
字段值数组:$navinfor
调用方法:$navinfor[字段名],比如要显示"信息ID字段",那在模板里用:?=$navinfor[id]?即可输出(要开启模板支持程序代码)
6、帝国cms中在php代码里面怎么引用[!
几种方式:
1、直接在帝国定义的userfun.php中扩充你自己定义的函数,然后在相应的程序页面中直接引用函数即可;
2、在列表模版可以勾选“使用程序代码”,然后写入PHP代码;
3、在相应的页面模版中直接嵌入PHP代码;
4、单独写PHP程序,放在某个目录下作为扩展,然后在帝国相应程序页面中引用。
帝国cms数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于帝国cms自定义列表、帝国cms数组的信息别忘了在本站进行查找喔。