ecshop小京东模板切换到smarty3.13之模板函数,用模板函数替换楼层

ecshop小京东的模板中用到了楼层的概念,看下了模板每个楼层都写了一下,用几个楼层就写了几段,个人感觉这样的有点冗余,不如做个函数,直接循环一下

有两种方法,第一种是:写个函数来实现楼层的显示,第二种是直接做一个模板函数,直接在页面上循环,第一种方法,本人觉得麻烦,就试了第二种,居然成功了


smarty2好像不支持 模板函数,下面提供一个官方的例子,

{* 定义函数 *}
{function name=menu level=0}
<ul class="level{$level}">
{foreach $data as $entry}
{if is_array($entry)}
<li>{$entry@key}</li>
{call name=menu data=$entry level=$level+1}
{else}
<li>{$entry}</li>
{/if}
{/foreach}
</ul>
{/function}


 
{$menu = ['item1','item2','item3' => ['item3-1','item3-2','item3-3' =>['item3-3-1','item3-3-2']],'item4']}
 
{call name=menu data=$menu}
{call menu data=$menu} {* 简写*}


用在小京东的模板上我们可以模仿一下

      {function name=louceng }


  <!-- TemplateBeginEditable name="商品分类楼层1" -->
<!-- #BeginLibraryItem "/library/cat_goods.lbi" -->

  {$child_cat=get_child_cat({$cateid}, 3)}

 <!-- #EndLibraryItem -->



{/function}
然后写上调用就完成了,后边这个可以写一个数组
      {$lou =4}
      {call louceng  cateid=$lou}

对于原来的模板,我有些看不懂,因为原来的模板是可以在后台配置的,关于配置那个地方的功能,有些复杂,

个人意见,对于商城的运营,还是需要技术团队来支持的,一些小的功能还是没有必要做的太复杂,

有时直接写数组与配置文件还是必要的,有于一小点的便利,可能会引入很多代码,有时这样的代价太大,没有必要


后面附人个人微信二维码大笑


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值