资源免费
我们一直在努力

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了,这里就不做讲解了。

本章小结:

两种方式各有优劣,使用第二种方式时某些默认参数传进去是没有用处的,比如分页参数。

赞(0) 打赏
未经允许不得转载:彩红网 » destoon模板制作教程> tag()的两种使用方式
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏