• 欢迎访问彩红网,3D模型下载,平面素材,网站源码,ppt模板下载,专利检索,设计软件下载,cad图纸下载
  • 赞助本站:点击进入
  • 彩红网原论坛网址:点击进入
  • 赞助本站:点击进入

destoon模板制作教程> tag()的两种使用方式

网站源码 彩红网 3个月前 (02-25) 116次浏览 已收录 0个评论 扫描二维码

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

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


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

二、自己写的调用代码

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

<ul>
{loop $tags $i $t}
<li>{if $datetype}<span class="f_r px11"> {timetodate($t[addtime], $datetype)}</span>{/if}{if $showcat}<a href="{$t[caturl]}"{if $target} target="{$target}"{/if}{if $class} class="{$class}"{/if}>[{$t[catname]}]</a> {/if}<a href="{$t[linkurl]}"{if $target} target="{$target}"{/if}{if $class} class="{$class}"{/if} title="{$t[alt]}">{$t[title]}</a></li>
{/loop}
</ul>

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

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

很多同学在初次接触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 了,这里就不做讲解了。

本章小结:

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


彩红网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:destoon 模板制作教程> tag()的两种使用方式
喜欢 (0)
[微信打赏]
分享 (0)
关于作者:
喜欢收集一些资料,也愿意分享给大家,如果大家也有资料分享的话可以加我QQ:2766242327或者加QQ群:454824364

您必须 登录 才能发表评论!