tag()的两种使用方式
分享好友 学院首页 频道列表

tag()的两种使用方式

2016-09-02 22:032850
下面我来看两段调用标签代码

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



本章小结:

两种方式各有优劣,使用第二种方式时某些默认参数传进去是没有用处的,比如分页参数。具体我们会第五课做详细讲解。
作者:DESTOON模板堂
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
反对 0
举报 0
收藏 0
打赏 0
Destoon模块开发流程
一、复制模块首先根据需要制作的模块功能,从系统已有模块里选择一个功能类似的模块,在此模块基础上进行修改开发例如,复制求购

0评论2019-05-272370

Destoon 7.0新建模板手机端白屏
不少同学在Destoon 7.0程序中电脑端新建一套模板,然后在手机端访问出现了白屏的情况,这个是为什么呢?首先得从7.0模板构造方面

0评论2018-12-10980

Destoon 7.0常见问题解决方法
1、后台出现Invalid Request?检查升级之前是否修改过后台管理文件名admin.php,如果修改过,需要删除对应的文件,并且把7.0的ad

0评论2018-04-026843

手机端没法注册怎么解决呢?
目前发现一个比较多的问题就是,填好资料点提交没反应,通过调试发现,点击提交的提示某个js函数不存在,应该是验证码的模板不是

0评论2017-12-12543

destoon手机端复制的模块模板如何使用不同的页面
由于dt手机端列表页面 详情 页面模板均在一个模板下 php文件也是同一个部分人复制的模块如果想使用不同的模板怎么办呢?方法有两

0评论2017-05-25623

手机供应详情页面增加相关内容
手机供应详情页面增加相关内容

0评论2016-10-25405

Destoon手机版 结构目录
Destoon手机版 结构目录

0评论2016-10-24442