smarty中ifelse、foreach以及获取数组中键值名的一个实例

<{if empty($history)}>
  <tr>
    <td colspan="6">Not any records!</td>
  </tr>
<{else}>
  <{foreach from=$history item=item}>
    <tr>
      <td><{$item.id}></td>
      <td>
        <div style="max-width:700px;overflow:hidden;text-overflow:ellipsis; ">
        <a href="#">
        Keywords:<{$item.keywords}><br>
        Size:<{$item.size}><br>
        <{foreach from=$item.options key=key item=option}>
          <{$key}>:<{$option}><br>
        <{/foreach}>
      </td>
      <td><{$item.num}></td>
      <td><{$item.create_time}></td>
      <td><{$item.last_process}></td>
      <td>
        <span class="label 
          <{if $item.status eq 'new'}>
                label-primary
          <{else}>
                label-success
          <{/if}>">
          <{$item.status}>
        </span>
      </td>
      <td>
        <a href="#" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i>Delete</a>
        <a href="#" class="btn btn-primary btn-xs"><i class="fa fa-file-text"></i>Report</a>
      </td>
    </tr>
  <{/foreach}>
<{/if}>

 

这是我在项目开发中使用的smarty的一个例子,所以扣下来以作记录。以下为讲解:

分四种颜色,对应两种语句(ifelse,foreach),其中$history为二维数组:

1、黄绿色、橙色,if else语句的使用,及empty()函数,eq的使用

2、蓝色、红色,foreach语句的使用,其中from和item必须的两个参数,from表示循环访问的数组,item当前元素的变量名。还有两个参数,name和key,name用于访问foreach属性的foreach循环的变量名,key就是数组中元素对应的键值名。

 

posted @ 2015-07-26 13:09  记忆书签  阅读(1940)  评论(0编辑  收藏  举报