关于PHP模板Smarty的初级使用方法以及心得分享

  至于怎么配置,这里就不用多说了,网上一大堆。

  1.基本上要用到的最主要的方法就是assign和display方法。

  2.基本上在页面上要用到的知识就是if和foreach和section这三个。

  3.基本上最难的就是foreach和section。

  4.初学的时候老是循环不出自己想要的数据。因为感觉还是跟php啊java啊这些的foreach和for都有些差别的。很难抓住他的活动路径,很难调试他的数据。

  5.所以这里,我把一点点经念放出来:

  如果数据是这样:

  

复制代码 代码如下:

  array(0=>array('id'=>'1111','content'=>'2222'));那么foreach循环

  {{foreach from=$exam item=item key=k}}

  {{$item.content}}

  {{/foreach}}

  就可以了,但是如果是array('id'=>'1111','content'=>'2222')这样,就不可以这样循环了,需要这样:

  

复制代码 代码如下:

  {{foreach from=$exam item=item key=k}}

  {{if $k eq 'content'}}

  {{$item}}

  {{/if}}

  {{/foreach}}

  这里如果不了解eq是什么意思,可以网上搜下,下面我把这个给稍微罗列下:

  eq相等,

  ne、neq不相等,

  gt大于,

  lt小于,

  gte、ge大于等于,

  lte、le 小于等于,

  not非, mod求模。

  is [not] div by是否能被某数整除,

  is [not]even是否为偶数,

  $a is [not] even by $b即($a / $b) % 2 == 0,

  is [not] odd是否为奇

  6.在smarty的模板里面如果要使用php代码,这样:

  {{php}}$a = "gayayang"; echo $a;{{/php}}

  这样就可以在模板里面使用php代码了。

  7.在smarty里面引用文件:

  可以用上面的办法:{{php}}include "config.php";{{/php}}

  或者专业一点:{{include file="config.php"}}

  两个方法都可以实现。下面的比较专业点,推荐。

  8.有个这样的方法:$smarty->fetch("mytemplate.html");

  fetch和display都是渲染模板用的.fetch可以将渲染后的整个模板以字符串的形式赋值给一个变量,可以用作生成静态页用

  现在知道这个怎么用了吧,他可以返回文件的内容给一个变量,那这个就非常有用咯。呵呵

  使用fetch函数,你可以将要输出的html赋值给一个变量,可以对里面的数据进行一些输出,再将他输出。

  smarty中的display方法,实际上调用的就是fetch,只不过是直接将他显示出来而已,而fetch默认是不显示,返回给一个变量的。

  基本上也就这么些了,以后有补充了再来写吧。呵呵