Destoon7.0仿站必备模板标签

日期: 2019-04-14 11:46:21 人气: - 评论: 0

destoon模板标签种类

destoon采用的是万能循环模板标签,一套循环标签,只要修改其中的参数就可以实现数据库中任何内容的调用,相比其它的php开源程序来说先进的不是一点点。


调用文章,调用商品,调用供求,调用网站分类,调用网站会员等等只要是数据库能访问到的内容都是同一个套标签调用。


当然destoon为了方便调用,对导航菜单,分类,地区数据的调用单独封装了函数调用标签。


destoon的默认调用标签一共有四种,下面我们就来归类下:


一、万能tag()标签


   注:改变tag()函数中的传入参数,可以轻松实现调用数据库中的任何表任何内容


二、导航菜单 $MODULE 标签


   注:destoon封装的一个专门调用网站菜单导航的函数


三、分类 get_maincat(0, $mid, 1) 标签


   注:专门用来调用栏目分类的标签


四、地区 get_mainarea() 标签


   注:专门调用地区的标签


以上四种是destoon自带的标签,如果您对destoon足够了解的话,是可以轻易扩展出任何调用标签的。



注:


本节课程重点是了解destoon的标签种类


方便以后在模板制作时知道什么什么该用什么标签


destoon标签引擎原理

在学习destoon四大调用标签前,我们先来了解下destoon的标签引擎的解析原理。


在destoon模板中,只要是循环的内容都是 通过 loop 实现的,格式如下:


#

   {loop $tags $i $t}


         循环区块代码


   {/loop}


loop 标签的开头是 {loop 参数1 参数2 参数3 },结尾是 {/loop}




loop的三个参数


loop 标签一共有三个参数,参数1和参数3是必须参数,参数2是可选参数


例:{loop 参数1 参数2 参数3 }


参数1:


    必须是一个数组变量,为什么必须是一个数组呢?懂点javascript 和php的同学都知道,循环必须要数组才能循环出内容呀! 这个数组可以是一个一维数组,也可以是一个二维数组。我们从数据库调出来的数组都是二维数组。


   参数1我们一般用 $tags 表示,其实是可以用任意变量表示的,如:$a,$b。 一维数组和二维数组之间的区别,在参数时我们再介绍。


   参数1的数组是我们通过四大调用标签,或者自己封装的函数调用出来的,比如我们 使用 {loop $tags $i $t}  调用数据,那么 $tags 这个变量是必须在loop标签之前申明,赋值。如果$tags 变量是空的,或者不为数组,循环结果都是空的,没有任何内容。


参数2:


    参数2是一个可选参数,可要可不要。参数2是一个自增变量,从0开始,一般用 $i 表示,也可以是其它的任意变量,如 $k, $j。


    它的用处就是当我们在列中需要在每篇文章前面显示一个  1  2  3  4 ..... 10 这样的序号时,或者我们需要判断 每隔一条 加一条横线,或加红,或换不同样式时,作判断时使用。


    在模板中 用{$i}调用,具体,我们后续会用专门的一节课来讲解。


参数3:


   参数3和参数1一样是必须参数,少了就会报错。


  参数3的作用是将loop循环出来的每行数据组装赋值给一个变量,用来在循环模板中调用展示。


  参数3通常用 $t  表示,可以换成其它任何变量,如 $c , $v等。


  当我们参数3使用 $t 时,循环模板中调用数据时就只能使用  {$t[字段名]},如调用标题 {$t[title]}。


  参数3为$v 时间,那么循环模板中就只能使用  {$v[字段名]},如调用标题 {$v[title]}。




参数1 为一维数组和二维数组的区别:


    参数3我们详解了循环模板中调用数据字段的方法,其实这是参数1为二维数组时的调用方法,如果为一维数组时就不能这么调用了


    只能用  {$t}  这样的调用方法。


    一维数组,二维数组的概念大家如果不了解的话,可以百度下 php数组,了解下。不过这并不是多重要的东西,我们模板中所有的调用大都是基于二维数组的调用,一维调用基本都是在二开个性化功能使用,能二开的人这所有的问题都不是问题了。



注:


   本节课程主要掌握 loop标签的三个参数


初识tag()

第一步:


    tag() 函数将数据库表中的数据按我们的要求调用出来,组装成一个二维数组,并赋值给变量 $tags


    代码如下:


   


<!--{php $tags=tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc&template=null");}-->



第二步:


    loop 将 $tags 二维数组循环出来,赋给循环模板

   

   代码如下:


{loop $tags $i $t}

<li><a href="{$t[linkurl]}">{$t[title]}</a></li>

{/loop}


第三步:


    模板将数据以网页形式展现出来。


注: 第一步的  $tags=tag( 中的 $tags 与第二步中的 {loop $tags 中$tags 保持一至,变量名一模一样,如可以变成,$a=tag(, {loop $a



课程提示:


学一样东西,如果先了解他的了运行原理,学起来就会事半功倍。如果有一定基础的同学,看了我这三节课,再看看destoon官方模板手册,基本已经可以做模板了。


细心的朋友,可能会发现,为什么destoon默认模板中的标签调用方法和我上面讲解的不一样呢?


我们来看一段destoon默认首页的标签

<!--{tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc")}-->



是不是和我们的有区别呢?  这个就涉及到destoon模板标签的两种方式了,默认方式和自定义方式。

tag()的两种使用方式

下面我来看两段调用标签代码


一、destoon默认模板中的求购信息调用




二、自己写的调用代码







{loop $tags $i $t}

{if $datetype} {timetodate($t[addtime], $datetype)}{/if}{if $showcat}[{$t[catname]}] {/if}{$t[title]}


{/loop}





这两个代码的都是调用最新的求购信息,咋看起来差别之 么大呢?


第二段代码明显比一段好懂,上面是调用语句,下面是循环模板,大部分开源程序的程序调用都是这么干的。


很多同学在初次接触destoon模板时,都觉得难学的原因就是destoon默认模板都是采用的第一种模式,大部分人看了标签找不到循环模板在哪里,所以无从下手修改。


这两段代码的最大区别就是,第一段的循环模板不在当前模板中,第二段是在当前模板,这也就是destoon tag()标签的两种调用方式了。




第一种方式:循环模板不在当前页面


这种方式是通过加载模板目录中的 tag/ 目面的list-**.htm 标签模板实现调用。


在tag()函数中有一个 &template 参数,用来加载tag目录下指定文件名的标签模板,如 &template=list-buy 表示加载的是tag目录下的 list-buy.htm 文件。 如果我们在tag()中不传&template参数,就默认会加载tag目录下的list.htm。


我们上面这段标签没有传&template 参数,就表示是加的默认list.htm 文件。


我想destoon官方默认模板之所以都不在当前模板中加载循环模板标签,是因为作为b2b门户系统,页面多,需要做到尽可能的少写代码,让代码尽可能多的实现重用。我在此的建议是,如果大家的循环模板是很多页面共用的,尽量放到tag下面,如果只是调用一次就用我们的第二种方法写在当前页面。




第二种方式:循环模板标签写在当前模板中


写在当前模板中的好处是维护起来更加方便,对于不懂destoon标签机制更容易看懂。


写在当前的方法是 在tag( 前面加上 php $tags= ,修改结果: 


并且必须传入 &template参数,设置值为 null,修改结果为:&template=null


方式2的原理是把tag()调用出来的内容赋值给 $tags 变量,然后用loop将$tags的内容循环出来给模板标签展示。在第二课我们已解释过loop了,这里就不做讲解了。




本章小结:


两种方式各有优劣,使用第二种方式时某些默认参数传进去是没有用处的,比如分页参数。具体我们会第五课做详细讲解。

tag()参数详解

在了解destoon tag()的参数,可以先打开destoon官方的 标签调用手册,便于我们接下来的学习。


这是一个 destoon 默认首页模板index.htm中的标签

<!--{tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc")}-->

在tag(" 这里面的都是参数"),传输参数的方式是: &参数名=参数值,第一个参数省略&符号。

tag()的参数,分类必须参数和可选参数两种

必须参数:

 moduleid:

      示例: moduleid=6,表示调用的是求购频道的内容,调用其它频道的内容只需要将6改成对应的频道id即可,频道Id可以destoon后台的系统维护,模块管理中查看。  

table:

     示例:table=buy_6,和moduleid=6效果是一样的,也表示调用的是求购频道的内容,不同的是table传的值直接是表名,并且不带表前缀,如果要调用其它表的内容只需要将buy_6替换成对应的表名即可。


注: tag()的必须参数一共就moduleid,table两个,而且这两个是二选一,只能同时使用其中的一个,moduleid用来调用各大频道主表的内容,如果要调用非频道主表的内容就得使用table直接传表名了。


可选参数:

    condition:

            示例:&condition=status=3,conditon使用度和moduleid是几乎一样的,只要是tag()标签中都会传这个参数,这个参数的作用是将传入的值直接作为sql条件进行数据库内容筛选。比如我们示例中的 &condition=status=3,php解析后就是 where status=3。、

           condition是可以无限传条件的,有多少都可以往这里传,比如:&condition=status=3 and level>0 and vip>0 and itemid>100 and itemid<1000

这是传的标准的sql语句。

          如果您是小白,不懂啥是sql。举个简单的示例:我们要调用供应频道的已审核的信息,并且这信息要是推荐的,还得是vip会员发布的。那么首先我们构建tag标签语句,<!--{tag("")}-->,然后传入第一个参数 moduleid=5,供应频道的id是5;当然也可以用table=sell_5替代。

   <!--{tag("moduleid=5")}-->

        第二步传入condition筛选我们需要要的数据

        <!--{tag("moduleid=5&condition=")}-->

       条件一:已审核的信息,换成sql语句就是 status=3

        <!--{tag("moduleid=5&condition=status=3")}-->

       条件二:推荐的信息,换成sql语句是 level>0,如果是调用指定推荐级别的,如推荐2的, level=2

       <!--{tag("moduleid=5&condition=status=3 and level>0")}-->

         因为level 是第二个条件了,所以我们得用and来连接,并且and 前后都必须有空格,没有的话就会报错,condtion的值,从第二个条件开始都要用and来连接。

        条件三:vip会员发布的信息,换成sql语句就是 vip>0,如果要指定vip级别,如1 就是 vip=1

         <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0")}-->

        通过本示例,相信大家已经学会如何信condition传值调用我们想要的信息了。

        常用的一些condition条件:

         已审核:status=3, 推荐的:level>0,vip会员的:vip>0, 有缩略图的:thumb<>'', 指定会员组的:groupid=6


pagesize:

      怎么传条件我们已经学会了,但是我们调出来的内容还得限制数量不是吗?pagesize就是用来指定数量的。

    示例:

    <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20")}-->

   调多少条就写&pagesize=20 是多少就行了。这个参数没啥好解释的。

   另外pagesize 有一个搭配使用的参数叫 offset,写法是&offset=10, 作用是从第一几条开始调用。

<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10")}-->

 表示从10条开始调用,往后调20条信息出来。

 

  提示:pagesize 如果不传,tag()会员默认调用10条信息。


order:

    tag()的排序参数,用法:&order=addtime desc,edittime desc,可以多个排序字段连接,用,隔开。

   示例:

   <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&order=addtime desc,edittime desc")}-->

    常用排序方法:

      添加时间降序:addtime desc,倒序:addtime asc

      修改时间降序:edittime desc ,倒序: edittime asc

      推荐级别降序:level desc,倒序:level asc

      vip级别降序:vip desc,倒序:vip asc

    

    提示:order如果不传,就会默认使用mysql的排序,destoon是没有封装order默认排序的。  

      

template:

     标签模板参数,指给当前tag()调用出来的内容赋给给一个循环模板展示,使用方法:&template=list-sell

     标签模板存放在模板目录的 tag目录下面,我们要调用哪个模板就&template=模板文件名,  文件名不带.htm

     示例:

     <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&order=addtime desc,edittime desc&template=list-sell")}-->

     

     不传template参数,tag()函数会默认调用tag目录下的list.htm模板。

     

     不调用标签模板,在当前页面自定义模板,template的值设为null: &template=null

     

     然后标签语句也得做相应的修改,用loop在当前页面循环,具体请看上一节课的详细介绍。

     

fields:

     fields指查询的字段,默认为*。可以传递例如 fields=title,addtime,但是一般情况下无需传递,Destoon独有的标签缓存机制会自动缓存查询结果,不必担心效率问题。

     以上是官方的介绍,看了也能明白了,就是循环模板中要调用哪些字段,就把哪些字段用,隔开传给fields。

     

     示例:  

     <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&lields=title,addtime,&order=addtime desc,edittime desc&template=list-sell")}-->   


以上的参数是比较重要的一些可选参数,下面部分参数都是一些不常用的,解释就比较简单了,大家请自行研究实验。


catid:

    调用指定分类下的信息,用法&catid=10

    

areaid: 

    调用指定地区的信息,用法:&areaid=1, 一般用来调用当前分站的信息,如:&areaid=$cityid        

    

showcat:    

    需要调用当前信息的分类名称和分类连接时传入,用法:&showcat=1   showcat的值只能是1

    然后标签模板中调用 {$t[caturl]} 分类连接,{$t[catname]} 分类名称    


showpage 和 page:

    tag()自带的分页参数,showpage和page必须一起使用才能正常分页,使用方法: &showpage=1&page=$page, 参数值是固定的。

    然后在标签模板中传入 {$pages} 即可实现分页。

    

    提示:tag()使用showpage和page时,必须使用标签模板,template的值不能为null,

         

length:

    控制标题长度用的,用法:&length=20,表示标题长度为20个字符,10个汉字。


debug:

    debug参数用于调试标签,例如传递&debug=1, 系统将输出标签构造成的SQL语句,以便验证标签写法是否正确,不需要调试的标签不用加此参数。         


自定义参数:

    自定义参数只能在标签模板方式下使用,在当前页面自定义循环模板是无效的。

    使用方法: &参数名=参数值,如:&dtmoban=123456,  在标签模板中使用 {$dtmoban} 调出的值便是 123456

    

本节小结:

    本节课主要掌握destoon  tag()函数的常用自定义参数。

    但是同学们在做模板时经常会遇到参数传值造成页面出错,那么我们如何给参数正确的传值呢?下节课我将为大家专门讲解。    


给tag()参数正确传值方法

给tag()参数传值的三种方式


一、传数字

   传数字是最简单的,直接在参数的等于号后面写上要传的数字就行了,如:&catid=1205


二、传文字(字符串)

    传文字类型的字符串,需要给文字加上''(单引号),如:&title='dt模板堂'。

    字符串类型的值,在tag()自带的参数只有 &condition 的值里会用到,其它参数都用不上。

    示例:

        <!--{tag("moduleid=5&condtion=status=3 and title like '%dt模板堂%'&pagesize=10&order=addtime desc")}-->

    

三、传变量

    传变量有三种情况

    1、变量值为数字

       例如我们有一个变量:$catid = 1025;  这个变量是在php里面申明的,或者从url中获取到的。

       tag()中传值方法:  &catid=$catid

       就像传数字一样,直接将变量写到等于号后面就好了。

    

    2、变量值为字符串

       例如我们有一个变量:$kw = 'dt模板堂';

       tag()中传值方法: &condition=title like '%$kw%'   

       字 符串传只有在condtion参数的值里会用到

       

    3、变量名为二维

       例:我们有一个项目,先要从分类表里调出当前频道的顶级分类,然后再循环调出每个分类的子分类

       

       代码如下:

       

       <!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->

       {loop $tags $i $t}

       <li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>

       

       {/loop}

       

       通过上面的代码,我们已成功调出顶级分类了,有过其它cms模板标签调用的小伙伴一定,需要调出子分类,需要在大循环里再把分类调用代码再小循环一次,并且把小循环的条件中分类上级id改成大循环中获取的 分类id。

       

       我们来看顶级分类调用中condition的值中我们使用prarentid=0,表示调用prarentid值为0的分类,也就是顶级分类。

       如果我们调出某个顶级分类下面的子分类,只需要把这个0改成对应的顶级分类的id就行了。

       现在我们获取的一大分类的id是一个变量 $t['catid'],按照我们的思路将调用代码复制一遍,插入循环中,并且把prarentid=0改成prarentid=$t['catid']

       

       代码如下:

       

       <!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->

       {loop $tags $i $t}

       <li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>

         <!--二级分类循环开始-->

         <!--{php $sub=tag("table=category&condition=parentid=d=$t['catid'] and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->

       {loop $sub $k $v}

       <li><a href="{cat_url($v[catid])}">{$v[catname]}</a></li>

        <!--二级分类循环结束-->

       {/loop}

         

       {/loop}

       

       改好了保存到模板里,刷新下页面,是不是报错了。

       这是因为我们在传入二维变量作为值时,没有使用php连接符的原因,原理我们这里就不解释了,做模板不要求我们会php。

       我们只需要将代码修改下

         parentid=d=$t['catid'] 改成 parentid=d=".$t['catid']."

       这样就不会报错了,正常调出子分类。

         

      <!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->

       {loop $tags $i $t}

       <li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>

         <!--二级分类循环开始-->

         <!--{php $sub=tag("table=category&condition=parentid=d=".$t['catid']." and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->

       {loop $sub $k $v}

       <li><a href="{cat_url($v[catid])}">{$v[catname]}</a></li>

        <!--二级分类循环结束-->

       {/loop}

         

       {/loop}

          

       特别注意: 如果$t[catid]的变量值不是数字是字符串,得加上加''单引号,修改结果:  parentid=d='".$t['catid']."'


本章小结:

     本节课的要点是传变量时的三种情况,变量为二维时记得加连接符,变量值为字符串要加单引号 ''。

     到了这里tag()讲解也就算完毕,接下来课程我们再学习下其它三个标签函数。


$MODULE详解

其实菜单调用是固定的一个方法,直接从默认模板header.htm中把代码复制过来,换个模板就行了。



下面就是我从默认模板复制过来的菜单调用代码,唯一要注意的就是如何判断高亮。


<li{if $moduleid<4} class="menuon"{/if}><a href="{$MODULE[1][linkurl]}"><span>首页</span></a></li>


{loop $MODULE $m}{if $m[ismenu]}<li{if $m[moduleid]==$moduleid} class="menuon"{/if}><a href="{$m[linkurl]}"{if $m[isblank]} target="_blank"{/if}><span{if $m[style]} style="color:{$m[style]};"{/if}>{$m[name]}</span></a></li>{/if}{/loop}


通过以上代码我们看出,首页的连接是静态的,不能通过循环调出。 判断首页高亮的方法是 {if $moduleid<4} class="menuon"{/if},moduleid小于4。


在$MODULE 的loop循环中,我们要注意的一点是,紧连接loop的是{if $m[ismenu]},功能是判断哪些哪些模块允许作为导航菜单调用,如果不加就会把所有的模块名称都调出来。


另外注意的一点,就是高亮判断 {if $m[moduleid]==$moduleid} class="menuon"{/if}


是否新窗口打开判断 {if $m[isblank]} target="_blank"{/if}




这个东西实在是太简单了,都没啥解释的,会点模板制作的同学,一看就懂了。


get_maincat()分类调用方法 get_mainarea()详解

get_maincat()是destoon系统封装好的一个调用分类的函数


调用方法为:


 {php $maincat=get_maincat(参数一,参数二,参数三);}


{loop $maincat $k $v}

<a href="{$MOD[linkurl]}{$v[linkurl]}">{$v[catname]}</a>

{/loop}


参数详解:


  参数一、要调用的分类上级id,如果调用顶级,则填0


  参数二、模块id,如果是在网站首页调用分类,必须指定id,如果是在频道页面调用分类,使用$moduleid,表示调用当前频道的分类。


  参数三、推荐级别,指要调用分类的推荐级别,该级别在后台每个模块管理下面的分类管理里设置,默认为1


注:参数一,二为必填参数,参数三可选,不填则表示不限制调用的级别。



在destoon每个频道的分类列表页面官方已经在php中给我引入了get_maincat()


所以我们调用时,直接使用:


{loop $maincat $k $v}

<a href="{$MOD[linkurl]}{$v[linkurl]}">{$v[catname]}</a>

{/loop}



get_maincat()调用小技巧


 给参数一传入动态变量$catid,便可实现接收url中的catid参数,实现动态调用子分类,在分类页面官方已经封装好了,所以直接使用


{loop $maincat $k $v}

<a href="{$MOD[linkurl]}{$v[linkurl]}">{$v[catname]}</a>

{/loop}


便可实现调用当前分类下的子分类。


当前分类高判断:{if $v[catid]==$catid} class="高亮样式"{/if}



get_mainarea()是destoon封好的一个用于调用地区数据的函数


get_mainarea()只有一个参数,


get_mainarea(参数一)


参数一:上级地区id,调用顶级地区(省份),填写0,调用其它地区填写指定地区id,调用当前分站地区下面的地区,填写$cityid。


调用方法:


{php $mainarea=get_mainarea(0);}


{loop $mainarea $i $v}


<a href="{$MOD[linkurl]}search.php?areaid={$v[areaid]}" rel="nofollow">{$v[areaname]}</a>


{/loop}


模板属性:


     地区名:{$v[areaname]}


    地区连接:{$MOD[linkurl]}search.php?areaid={$v[areaid]},如果是在首页调用或要连接到指定频道的地区内容,请使用{$MODULE[模块id][linkurl]}search.php?areaid={$v[areaid]}




注意:


       地区的连接地址是连接到search.php搜索页面筛选的,如果要在当前页面筛选需要对当前页面进行二次开发。



destoon常量全局变量说明及使用

什么是destoon常量?

destoon常量是指destoon官方的开发者在开发时封装在destoon程序中的一些系统设置参数



这些参数是固定的,我们是不能修改的,也不需要去修改。(PS:只要你牛掰,系统全改了也行)


比如我们的网站首页地址:DT_PATH,站点安装目录路径:DT_ROOT,风格目录网址:DT_SKIN等。


具体可以参数考官方帮助手册:http://help.destoon.com/book/show-67.html





常量怎么使用?



常量的使用办法很简单


在php中使用,直接 使用:DT_ROOT


在模板中使用,加上花括号即可,如:{DT_ROOT}




destoon模板制作时常要用到的常量主要有三个:




站点首页网址:{DT_PATH}




风格目录网址:{DT_SKIN}




VIP名称:{VIP}




至于其它的常量,都是在二次开发时php文件中才用到的,我们模板小白不用搭理它们。





什么是destoon系统变量


destoon系统变量就是destoon后台一些设置参数,官方程序大牛给我们封装成了系统变量,让我们能小白样的调用。


系统变量的调用方法是:


花括号,$符号,变量名称;PS:destoon中花括号是万能的,所有的标签调用都是用{}包起来的。


示例:{$DT_IP} 当前访问者的ip地址


destoon系统常量,请参考官方帮助手册:http://help.destoon.com/book/show-67.html



destoon系统变量的分类

destoon系统变量主要有以下几类:



系统封装变量:


        这些变量是destoon开发者封装在php中,通过程序获取然后赋值给变量,让我们在模板中能使用简单方法调用。


      如:


     当前时间:{$DT_TIME},当前IP:{$DT_IP},当前网址URL:$DT_URL等等。




     提示:系统变量是不能通过网站后台设置和修改的。




网站设置变量:


      用来调用destoon后台网站设置中的设置参数,被destoon开发大牛封装成了一个数组 $DT


      调用方法:{$DT[参数名称]},参数名称获取方法:参考前辈笔记,标签手册,如果没有,打开后台网站设置,你要调用哪个设置的值,用右健查看网页元素,看他的input的name 值是多少。


    


     我们看到的name值定是 setting[telephone],我们只要[]中的单词,复制替换到{$DT[]}中




     于是{$DT[telephone]},成功将网站设置里面的客服电话号码调用了出来。




扩展功能模块变量:


    和网站设置变量的区别就是,这是扩展模块的设置,封装的数组是,$EXT


    调用方法和网站设置相同: {$EXT[参数名称]}




当前模块设置:


    当前模频道的模块设置调用,使用方法参考网站设置。


    封装数组:$MOD


    只能在频道下调用,首页,列表,内容,搜索调用,在网站首页不能使用。


    示例: {$MOD[linkurl]} 当前频道连接




系统模块信息变量:


    调用的是后台系统设置,模块管理中的模块信息,所有可调用的字段都存储在destoon_module表里。


    封装数组:$MODULE


    调用方法:{$MODULE[模块id][字段]}


    示例:{$MODULE[5][name]}  供应频道名称




当前登录会员信息:


    调用当前登录会员的相关信息,变量名称以 $_开头,具体可调用字段请参考:http://help.destoon.com/book/show-67.html




当前会员组权限信息:


    调用当前会员所在会员组的相关设置信息,


    封装函数:$MG


    调用方法:{$MG[参数名称]}


    示例:{$MG[groupname]} 当前会员组名称



注: destoon其它还封装一些设置数组,具体请参考手册,因为在模板制作中不需要使用到,这里就不一一介绍了。