ECMS 6.6/模板使用说明与技巧

来自站长百科
跳转至: 导航、​ 搜索

ECMS 6.6| 安装| 使用| 升级与整合| 新版解密教程|模板标签说明|二次开发| FAQ

SQL语句查询调用说明[ ]

1、标签上面的“操作类型”参数要设为24,然后“栏目id”参数为SQL语句

2、开启支持按SQL语句调用,默认是开启的,如果没有开启:打开e/class/config.php文件进行配置(粗体文字的设置)

//部分参数设置
$do_theloginlog=0; //是否记录登陆日志(0为记录,1为不记录)
$do_thedolog=0; //是否记录操作日志(0为记录,1为不记录)
$do_openbqquery=1; //开启标签支持sql语句查询(0为不支持,1为开启)
$do_openreadfile=0; //开启支持读取本地文件,为了安全,一般情况请不要开启(0为不支持,1为开启)
$do_txtpath="../../d/txt/"; //文本型数据存放目录
$saveurlimgclearurl=1; //远程保存图片自动去除图片的链接(0为保留,1为去除)
$ecmsdeftempid=0; //默认模板组ID

3、调用例子。以ecmsinfo为例:

[ecmsinfo]"select * from phome_ecms_news where classid=1 order by id desc limit 10",10,30,0,24,1,0[/ecmsinfo]

注:显示栏目ID为1的10条新闻表记录


让标签参数支持系统变量[ ]

让标签参数支持系统变量说明:以实现按各种条件调用信息数据

根据程序扩展变量的说明得出我们可以在标签参数中直接使用“字段值数组”变量。

例如:我们要列出所有信息来源相同的10条信息,标签如下(按sql语句调用):

[phomenews]"select * from phome_ecms_news where befrom='".$navinfor[befrom]."' order by id desc limit 10",10,32,0,24,0[/phomenews]

附加说明:$navinfor[字段名]


标签调用记录范围小技巧[ ]

如只调用从第10条开始的后20条记录

我们可以把显示条数改为:'10,20',以万能标签为例子(当然所有标签都一样):

[ecmsinfo]栏目ID/专题ID,'10,20',标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题图片[/ecmsinfo]


本月热点排行的sql条件调用[ ]

只需设置标签“附加SQL条件”参数为:'newstime>UNIX_TIMESTAMP()-86400*30'

以ecmsinfo标签为例:

[ecmsinfo]0,10,30,0,4,7,0,'newstime>UNIX_TIMESTAMP()-86400*30'[/ecmsinfo]

注意粗体部分:

30是指30天。


开启模板支持程序代码说明[ ]

1.开启:参数设置-》信息设置

2.这样直接在模板加上php代码就会受系统编译了。如果不想被编译,把程序代码直接加到页面里面:

"<"用""表示

">"用""表示

例如:<? echo"Hello!";?>

那加到模板代码就是:? echo"Hello!";?


下载不采用弹出窗口式说明[ ]

如果不采用弹出式下载的话,可依以下步骤完成:

1.修改下载地址模板("公共模板" -> "修改下载地址模板"):

将:

[ <a href=#edown onclick="window.open('[!--down.url--]',,'width=300,height=300');">[!--down.name--]</a> ]

改成:

[ <a href="/e/DownSys/GetDown/?classid=[!--classid--]&id=[!--id--]&pathid=[!--pathid--]">[!--down.name--]</a> ]


2.开启直接下载开关:

后台-》参数设置-》模型设置:“开启直接下载”


3.重新刷新下载表的页面即可(记得选择刷新全部)


此方案缺点:起不到防盗链作用,如果你服务器本身就有防盗效果,才推荐使用此方式.


文章内容加环饶广告[ ]

<div id="ad">[phomead]广告ID[/phomead]</div>

<style type="text/css">

<!--

#ad {

float: right;

}

-->

</style>


在内容页面直接显示评论[ ]

内容模板增加评论JS调用:<script src="[!--news.url--]e/pl/more/?classid=[!--classid--]&id=[!--id--]&num=10"></script>

其中10为调用评论数量,显示样式修改:后台-》模板管理-》公共模板-》修改“评论JS调用模板”。


帝国CMS程序扩展变量说明[ ]

程序扩展变量说明:通过这些变量可实现各种更复杂的系统.

1、列表/封面模板变量说明:

当前栏目id:$GLOBALS[navclassid]


通过这个变量可以输出这个栏目id的所有数据(如:select * from phome_enewsclass where classid='$GLOBALS[navclassid]')

2、内容模板变量说明:

字段值数组:$navinfor

调用方法:$navinfor[字段名],比如要显示"信息ID字段",那在模板里用:<?=$navinfor[id]?>即可输出(要开启模板支持程序代码)


模板中遇到\如何处理?[ ]

单个\用四个\表示即可,如:\r用\\\\r表示即可。6.6以上版本还可以用转义字符函数egetzy()


为什么页面不统计点击数呢?[ ]

要统计页面访问率,需在内容模板底部加上“[!--page.stats--]”变量

用户在模板那边选择是否增加此变量(如下载系统中一般不统计访问量,不加此变量就不会统计了)


如果你是用动态显示点击数的话,用这个即可:(显示+统计)

<script src="[!--news.url--]e/public/ViewClick/?classid=[!--classid--]&id=[!--id--]&addclick=1"></script>


用帝国CMS做英文站需要改什么?[ ]

1.修改e/data/langauge/gb/pub/目录下的q_message.php与fun.php语言包文件为英文;

2.前台调用用ecmsinfo万能标签或灵动标签。


控制面板“[!--empirenews.template--]”样式修改[ ]

如果只是改表格颜色,修改模板CSS文件:/skin/default/css/style.css文件里的:


.header {
background: #E9F2FB url(../images/title_bg.gif) repeat-x left top;
color: #07519A;
border: 1px solid #AACCEE;
border-bottom: none;
}
.header a { color: #000000 }
.tableborder { background: #E1EFFB; border: 1px solid #AACCEE }

如果要修改表格框架修改e/template目录下的模板文件即可,如控制面板首页改:e/template/member/cp.php


为什么[!--writer--]不能在列表中调用?[ ]

默认新闻模型把writer和befrom字段存放在副表,要在列表中调用要先把这两个字段转移到主表(管理字段页面点副表转移),转移后修改模 型选择这两个字段为列表模板项就可以用[!--字段名--]调用。


如何用灵动标签调用副表字段内容?[ ]

原理:在灵动标签循环内用SQL读取副表内容。下面以读取新闻副表中的newstext字段为例:

[e:loop={0,1,3,0}]

<?php
$fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_{$bqr[stb]} where id='$bqr[id]'");
?>

标题:<?=$bqr[title]?><br>

副表内容字段:<?=$fr[newstext]?>

[/e:loop]

如何在列表模板或标签模板中调用副表字段内容?[ ]

列表模板中要调用副表字段内容需要采用“list.var支持程序代码”。下面以读取新闻副表中的newstext字段为例的list.var模板代码:

$fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_{$r[stb]} where id='$r[id]'");

$listtemp='<a href="[!--titleurl--]">[!--title--]</a> <br>副表内容字段:'.$fr[newstext].'<br><br>';


如何调用指定某一条信息的内容?[ ]

标签附加SQL条件参数设置:'id=信息ID'即可。

以ecmsinfo标签为例:

[ecmsinfo]0,10,30,0,3,7,0,'id=5'[/ecmsinfo]


比较高效的随机调用方法[ ]

比较高效的随机调用方法:http://bbs.phome.net/showthread-13-169058-0.html


模板备份份数在哪修改?[ ]

后台>“系统”>“参数设置”>“信息设置”:“模板备份记录数”。

在每个模板下面的“[修改记录]”链接,可以还原修改记录。


如何调用各级头条和推荐?[ ]

“二级头条”调用:标签附加SQL条件参数设置为:'firsttitle=2'

“四级推荐”调用:标签附加SQL条件参数设置为:'isgood=4'


用PHP代码实现灵动标签的技巧[ ]

帝国CMS用PHP代码实现灵动标签的技巧:http://bbs.phome.net/showthread-13-146819-0.html


为什么查看源文件有内容,但页面显示空白?[ ]

答:是因为你的HTML代码不良写法导致,修改模板将“<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />”移到“<title>[!--pagetitle--]</title>”上面即可解决。


截取字数加省略号的方法[ ]

一般截取字数用

<?=esub($bqr[title],32)?>


加省略号你改成这个就可以了

<?=esub($bqr[title],32,'...')?>


SQL调用非终极栏目处理技巧[ ]

SQL语句调用要指定终极栏目ID,如果不想手动指定多个终极栏目ID,可以用下面方法:

select * from [!db.pre!]ecms_news where checked=1 and ".($class_r[$GLOBALS[navclassid]] [islast]?"classid='$GLOBALS[navclassid]'":ReturnClass($class_r[$GLOBALS[navclassid]][sonclass]))." order by newstime desc limit 10

参考来源[ ]

ECMS 6.6使用手册导航

安装:

ECMS 6.6 安装

使用:

ECMS建站流程|后台菜单介绍|前台菜单介绍|专业术语介绍|后台栏目管理|后台信息管理|后台专题管理|其他管理操作|采集管理|插件管理|管理员后台操作|管理员后台其他操作管理|后台用户管理|后台会员管理|系统安全设置

升级与整合

打通多个帝国CMS系统的会员整合与同步教程|整合Ucenter接口教程|整合Discuz通行证接口教程|整合PHPwind通行证接口教程|万能会员接口|论坛通行证接口|会员数据从文本文件导入帝国CMS的插件

新版解密教程

教程模型使用相关解密教程|教程模板使用相关解密教程|管理相关解密教程

模板标签说明

网站模板说明|其他模板说明|调用标签使用说明

二次开发

系统目录结构|常用函数介绍|扩展SQL程序编写介绍|插件二次开发格式建议|显示“Hello,world”|显示最新10条新闻|分类信息分页列表

FAQ

ECMS 6.6 FAQ