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

   2019-03-22 2600
核心提示:destoon默认模板中的求购信息调用,两种方式各有优劣,使用第二种方式时某些默认参数传进去是没有用处的,比如分页参数。

两段调用标签代码


一、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">&nbsp;{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= ,修改结果: <!--{php $tags=tag("0


在结尾 ")后面加上 ; (英文半角分号), 修改结果为:");}-->


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


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

 
举报收藏 0打赏 0评论 0
 
更多>同类知识常识
推荐图文
推荐知识常识
点击排行
网站首页  |  关于我们  |  支付方式  |  联系我们  |  隐私政策  |  法律声明  |  使用协议  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  企业大数据 :鲁ICP备16014150号-8