最新公告
  • 欢迎您光临 我爱模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境! 立即加入钻石VIP
  • 模板使用说明与技巧

    正文概述 管理员   2025-09-04   5

    1、按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条新闻表记录

    2、让标签参数支持系统变量

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

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

    例如:我们要列出所有信息来源相同的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[字段名]

    3、标签调用记录范围小技巧

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

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

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

    4、本月热点排行的sql条件调用

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

    以ecmsinfo标签为例:

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

    注意部分:

    30是指30天。

    5、开启模板支持程序代码说明

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

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

    "<"用"<!--code.start-->"表示
    ">"用"<!--code.end-->"表示

    例如:

    <?  echo"Hello!";?>

    那加到模板代码就是:<!--code.start--><!--code.end-->

    <!--code.start-->?  echo"Hello!";?<!--code.end-->

    6、下载不采用弹出窗口式说明

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

    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.重新刷新下载表的页面即可(记得选择刷新全部)

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

    7、文章内容加环饶广告

    <div id="ad">[phomead]广告ID[/phomead]</div>
    <style type="text/css">
    <!--
    #ad {
    float: right;
    }
    -->
    </style>

    8、在内容页面直接显示评论

    内容模板增加评论JS调用:

    <script src="[!--news.url--]e/pl/more/?classid=[!--classid--]&id=[!--id--]&num=10"></script>

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

    9、帝国CMS程序扩展变量说明

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

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

    当前栏目id:$GLOBALS[navclassid]

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

    2、内容模板变量说明:

    字段值数组:$navinfor

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

    10、模板中遇到如何处理?

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

    11、为什么页面不统计点击数呢?

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

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

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

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

    12、用帝国CMS做英文站需要改什么?

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

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

    13、控制面板“[!--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

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

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

    15、如何用灵动标签调用副表字段内容?

    原理:在灵动标签循环内用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]

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

    列表模板中要调用副表字段内容需要采用“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>';

    17、如何调用指定某一条信息的内容?

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

    以ecmsinfo标签为例:

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

    18、比较高效的随机调用方法

    看不少人喜欢用ORDER BY RAND()随机调用,随机调用是最耗资源的一种调用方式,信息数在1万以上随机调用就开始影响速度。使用时建议慎之又慎。
    如果确实要使用,可以用下面思路:

    先用php随机出信息ID,然后SQL调用用id in (php随机的ID列表)
    <?php
    $randnum=10;        //随机数量
    $randids='';
    $randdh='';
    for($i=1;$i<=$randnum;$i++)
    {
            $randids.=$randdh.rand(1,100000);        //1为最小ID,100000为最大ID
            $randdh=',';
    }
    ?>
    [e:loop={栏目ID,显示条数,操作类型,只显示有标题图片,"id in ($randids)"}]
    模板代码内容
    [/e:loop]

    19、模板备份份数在哪修改?

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

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

    20、如何调用各级头条和推荐?

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

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

    21、用PHP代码实现灵动标签的技巧

    灵动标签实际对应的原型PHP代码为如下:

    <?php
    $ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
    $bqno=0;
    while($bqr=$empire->fetch($ecms_bq_sql))
    {
            $bqsr=sys_ReturnEcmsLoopStext($bqr);
            $bqno++;
            ?>
            模板代码内容
            <?php
    }
    ?>

    怎么做能实现标签无限嵌套的效果?下面举例:

    <?php
    $ecms_bq_sql=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
    $bqno=0;
    while($bqr=$empire->fetch($ecms_bq_sql))
    {
            $bqsr=sys_ReturnEcmsLoopStext($bqr);
            $bqno++;
            ?>
           
            <?php
            $ecms_bq_sql2=sys_ReturnEcmsLoopBq(栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序);
            $bqno2=0;
            while($bqr2=$empire->fetch($ecms_bq_sql2))
            {
                    $bqsr2=sys_ReturnEcmsLoopStext($bqr2);
                    $bqno2++;
                    ?>
                    模板代码内容2 <?=$bqr2[title]?>
                    <?php
            }
            ?>
    
            模板代码内容 <?=$bqr[title]?>
            <?php
    }
    ?>

    二次嵌套,还可以加三次、四次...,由上可以看出通过PHP代码是可以实现标签无限嵌套,只要$ecms_bq_sql、$bqno、$bqr、$bqsr变量名改下就可以了。

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

    答:是因为你的HTML代码不良写法导致,修改模板将

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    移到

    <title>[!--pagetitle--]</title>
    上面即可解决。

    23、截取字数加省略号的方法

    一般截取字数用

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

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

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

    24、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

    我爱模板网 » 模板使用说明与技巧

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?587cc1e5c052b5b0ce99533beff13c96"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元