zoukankan      html  css  js  c++  java
  • smarty-smarty模板中类似for循环功能的实现代码

    本文介绍下,在smarty模板中,实现类似for功能的一例代码,有需要的朋友,不妨研究学习下。
     

    需求:在页面使用smarty循环100次输出,类似for循环100次。
    例如:
     

    复制代码代码示例:
    {section name=total loop=100}
    {$smarty.section.total.index+1} //当前的索引
    {$smarty.section.total.iteration} //用于显示循环的次数
    {/section}

    还可以这样:
     

    复制代码代码示例:
    {assign var=i value=0}
    {section name=total loop=100}
    {assign var=i value=$i+1} {$i} //使用assign的方式赋值
    {/section}

    输出结果: 1 2 3 4 5 ... ... 100

    另外,介绍下在smarty中使用php函数的方法。

    在smarty模板中,如果使用php函数,只有一个参数的函数比如说去空白的trim可以这样来写:
    例1:
     

    复制代码代码示例:
    <{$colname|trim}>

    那如果使用像iconv这样的有三个参数的函数该怎么写呢?如果写成:
    例2:
     

    复制代码代码示例:
    <{$colname|iconv:'utf-8':'gbk'}>

    一执行就会发现显示error信息。
    起始在smarty模板页的套用函数用法中,以例1来说,trim的前面$Row->colname其实就是trim的第一个参数,中间用|这个符号串接;
    那假设要使用像iconv有三个参数的函数的话,就要写成:
    例3:
     

    复制代码代码示例:
    <{'utf-8'|iconv:'gbk':$colname}>

    即,函数第一个参数|函数:第二个参数:第三个参数。
    例3中会把colname的值从utf-8格式转换成gbk。

  • 相关阅读:
    unittest用法和report输出
    python断言方式
    python闭包等
    html 基础
    Python装饰器
    python递归取出n层嵌套列表里的所有元素
    pycharm问题集锦
    Coding the Futurn
    python3-端口扫描(TCP_ACK扫描,NULL扫描,windows扫描,xmas扫描)
    python3-端口扫描(TCP connect扫描,SYN扫描,FIN扫描)
  • 原文地址:https://www.cnblogs.com/itime/p/smarty.html
Copyright © 2011-2022 走看看