1、增加模板时list.var模板需要勾选“使用程序代码”选项。
2、直接添加PHP代码,不需要加<?
和?>
程序开始和结束标记。
3、字段值数组变量为$r,对应的字段变量为$r[字段名],如:标题字段变量就是$r[title]。另外编号变量为$no。
这只是读取当前主表字段,如果是附表,要用副表或者其他表的字段值,要先用SQL取
4、将最终模板内容赋给$listtemp变量。
分类 帝国CMS 下的文章
帝国CMS批量提取正文内容到简介
代码:
<?php
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");
$link=db_connect();
$empire=new mysqlquery();
$tbname="news";
$sid=(int)$_GET['startid'];
$b=0;
$rs=$empire->query("SELECT id,newstext FROM {$dbtbpre}ecms_{$tbname}_data_1 WHERE id>{$sid} limit 20");
while($r=$empire->fetch($rs))
{
$smalltext='';
!$r['newstext'] or $smalltext=SubSmalltextVal($r['newstext'],200);
$smalltext=addslashes($smalltext);
$smalltext &&
$empire->query("UPDATE {$dbtbpre}ecms_{$tbname} SET smalltext='{$smalltext}' WHERE id=".$r[id]);
$b=$r['id'];
}
$b or exit('转换结束!');
echo "<meta http-equiv="refresh" content="1;url=ChangeByID.php?startid=".$b."">";
echo "已转换ID".$b;
db_close();
$empire=null;
?>
使用方法:
1、先备份数据库
2、以上代码保存到:/e/admin/ChangeSmallText.php
3、浏览器访问:www.xx.com/e/admin/ChangeSmallText.php
帝国CMS 用关键字做出Tags链接效果
思路:
1,帝国CMS的关键字一般是用英文逗号分隔,比如:小红,小明,小华
2,需要把英文逗号去掉,并且给每个关键字用html标签包起来,比如:<li>小红</li><li>小明</li><li>小华</li>
代码:
<?php
$cr=$empire->fetch1("select classpagekey from {$dbtbpre}enewsclass where classid='$GLOBALS[navclassid]'");
$source=$cr[classpagekey];
$hello = explode(',',$source);
for($index=0;$index<count($hello);$index++)
{
echo "<li><a href='/e/tags/?tagname=$hello[$index]&tempid=8'>"; echo $hello[$index];echo "</a></li>";
}
?>
帝国cms自定义列表和内容的动态页面
当帝国CMS栏目启用静态生成之后,这种/action/ListInfo.php
动态页面就访问不到了,系统做了跳转。有时候我们希望栏目生成静态html之后,还可以通过动态地址访问栏目,并且启用另外的模板。
下载附件,上传到网站根目录。
1,列表页面使用方法:http://你的域名/info/ListInfo.php?classid=64&tempid=2
classid是栏目ID,tempid是列表模板ID
2,内容页面使用方法:http://你的域名/info/ShowInfo.php?id=23&tempid=1&classid=64
id是文章ID,tempid是内容模板ID,classid是栏目ID
如果模板id不指定,程序会自动判断栏目或内容设置的模板。
帝国CMS以插件形式开发json格式的API接口
直接贴代码:
<?php
require('../../class/connect.php'); //引入数据库配置文件和公共函数文件
require('../../class/db_sql.php'); //引入数据库操作文件
require('../../data/dbcache/class.php'); //引入栏目缓存文件
$link=db_connect(); //连接MYSQL
$empire=new mysqlquery(); //声明数据库操作类
$editor=1; //声明目录层次
$bclassid = $_REQUEST['bclassid'];
$class_result = $empire->query("select classid,classname,bname,classing,classpagekey,intro from phome_enewsclass where bclassid = $bclassid");
$data_json = array();
while ($row=$empire->fetch($result)){
$data_json[]=array(
'classid'=>$row['classid'],
'classname'=>$row['classname'],
'classing'=>$row['classing'],
'seotitle'=>$row['bname'],
'keywords'=>$row['classpagekey'],
'description'=>$row['intro']
);
}
echo json_encode($data_json, json_unescaped_unicode);
db_close();
$empire=null;
?>
使用说明:
1,将以上代码保存为sort_sub.php
文件,上传到/e/extend/api/
目录下,就可以通过:你的域名/e/extend/api/sort_sub.php?bclassid=1
访问接口,输出的是json格式
2,看文件中SQL语句的含义,这是获取指定栏目的下级子目录列表。
3,API地址后面的?bclassid
是指定栏目的ID,在接口文件中是通过$_REQUEST['bclassid']
获取。