这篇文章主要为大家介绍了帝国CMS调用自定义列表名称的方法,列举了两种实现技巧,涉及针对帝国CMS底层代码的修改,需要的朋友可以参考下

本文讲述了帝国CMS调用自定义列表名称的方法,ASPKU源码库在这里提供了2种实现方法,涉及针对帝国CMS底层代码的修改。具体如下:

一、问题描述:

需要调出自定义列表名称,如下图所示:

帝国CMS调用自定义列表名称的方法(简单二次开发实现)(帝国cms首页调用其他网站数据)  帝国CMS 自定义列表 列表名称 二次开发 第1张

 

而使用帝国CMS原有的标签只能调用网页标题,而无法调出列表名称

二、解决方法:

方法一:

首先需要实现自定义列表可调出当前栏目ID,具体方法可参考ASPKU源码库前面的教程《帝国CMS在自定义列表中获取当前列表ID的方法》。

能够在自定义列表通过$navclassid获取当前栏目ID的话,问题就变得非常简单了,使用灵动标签的SQL调用如下:

 

复制代码 代码如下: [e:loop={"select * from [!db.pre!]enewsuserlist where listid=$navclassid",1,24,0}]
<?=$bqr['listname']?>
[/e:loop]

 

这样就可以调出列表名了!

方法二:

修改帝国CMS源码,添加调用字段实现直接调用该名称。

具体操作如下:

步骤1:

打开e\admin\other\ListUserlist.php文件,在大约147行找到刷新自定义列表函数function DoReUserlist($add,$userid,$username){

在该函数的查找调用数据库字段部分找到这段代码:
 

复制代码 代码如下: $ur=$empire->fetch1("select listid,pagetitle,filepath,filetype,totalsql,listsql,maxnum,lencord,listtempid,pagekeywords,pagedescription from {$dbtbpre}enewsuserlist where listid='".$listid[$i]."'");

 

添加listname字段,改成如下形式:

 

复制代码 代码如下:
$ur=$empire->fetch1("select listid,listname,pagetitle,filepath,filetype,totalsql,listsql,maxnum,lencord,listtempid,pagekeywords,pagedescription from {$dbtbpre}enewsuserlist where listid='".$listid[$i]."'");

 

如下图所示:

帝国CMS调用自定义列表名称的方法(简单二次开发实现)(帝国cms首页调用其他网站数据)  帝国CMS 自定义列表 列表名称 二次开发 第2张

步骤2:

打开e\class\functions.php,在大约2467行找到生成信息列表函数function ListHtml($classid,$fields,$enews=0,$userlistr=""){

添加自定义字段:
 

复制代码 代码如下: $GLOBALS['navclasslistname']=$enews==4?$userlistr['listname']:"";

 

如下图所示:

帝国CMS调用自定义列表名称的方法(简单二次开发实现)(帝国cms首页调用其他网站数据)  帝国CMS 自定义列表 列表名称 二次开发 第3张

至此,就可以在列表模板使用$GLOBALS['navclasslistname']调用自定义列表名称。

希望本文所述对大家基于帝国CMS的网站程序设计有所帮助。


注:相关教程知识阅读请移步到帝国CMS教程频道。
转载请说明出处
知优网 » 帝国CMS调用自定义列表名称的方法(简单二次开发实现)(帝国cms首页调用其他网站数据)

发表评论

您需要后才能发表评论