• 当前位置: 首页 / 建站百科 / 网站建设
  • thinkphp5.0模版常用标签(tp5模板调用标签)

    时间:2022-10-30 浏览量: 收藏

    模板标签 模板文件可以包含普通标签和标签库标签,标签的定界符都可以重新配置。 

     普通标签用于变量输出和模板注释,普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出。 

    标签库标签可以用于模板变量输出、文件包含、条件控制、循环输出等功能,而且完全可以自己扩展功能。 配置文件修改:

    变量输出 :

     在控制器中我们给模板变量赋值

    $this->assign('host','www.xmsmwl.cn');
    return $this->fetch();

    然后就可以在模板中使用: 

     网址:{$host}

    注意模板标签的{和$之间不能有任何的空格,否则标签无效。 

    数组变量使用:

    $user['name'] = 'Thinkphp';
    $user['email'] = 'admin@thinkphp.cn';
    $view->assign('user',$user);

    在模板中我们可以用下面的方式输出 

    Name:{$user.name} 
     Email:{$user.email}

     或者用下面的方式也是有效: 

     Name:{$user['name']} 
     Email:{$user['email']}

    函数使用

    往往需要对模板输出变量使用函数,可以使用:

    {$user.name|md5} {:md5($user.name)}

    如果函数有多个参数需要调用,则使用需要用###标识变量位置

    {$create_time|date="y-m-d",###}{:date(‘y-m-d’,$create_time)}

    也可以直接这样写使用:加函数名使用

    {:substr(strtoupper(md5($name)),0,3)}

    默认值使用:

    我们可以给变量输出提供默认值

    {$user.nickname|default="这家伙很懒,什么也没留下"}

    条件判断IF标签使用: 

    IF标签可以用来定义复杂的条件判断,例如:

    {if condition="($name eq 1) OR ($name gt 100) "} 
        value1
    {elseif condition="$name eq 2" /}
        value2
    {else /} 
        value3
    {/if}
    //注意:在condition属性中可以支持eq等判断表达式 
    //不支持带有”>”、”<”等符号的用法,因为会混淆模板解析

    可以在condition属性里面使用php代码,例:

    {if condition="count($arr) gt 5"}
        数组元素个数大于5个
    {else /} 
        数组元素个数小于5个
    {/if}

    运算符应用:

    我们可以对模板输出使用运算符,包括对“+”“-” “*” “/”和“%”的支持。

    三元运算应用

    {$status? '正常' : '错误'}

    原样输出:

    可以使用literal内置标签来防止模板标签被解析:

    {literal}
        Hello,{$name}!
    {/literal}

    循环输出标签

    VOLIST标签:

    Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,

    {volist name="list" id="vo"}
        <p>{$vo.id}:{$vo.name}</p>
    {/volist}

    如果没有指定key属性的话,默认使用循环变量i,

    {volist name="list" id="vo" key="k" }
        {$k}.{$vo.name}
    {/volist}

    支持输出查询结果中的部分数据

    {volist name="list" id="vo" offset="5" length='10'}
        {$vo.name}
    {/volist}

    输出偶数记录:mod显示的行数;没显示2行再从1开始

    {volist name="list" id="vo" mod="2" }
        {eq name="mod" value="1"}
            {$vo.name}
        {/eq}
    {/volist}

    FOREACH标签

    foreach标签类似与volist标签,只是更加简单,没有太多额外的属性

    {foreach $list as $vo} 
        {$vo.id}:{$vo.name}
    {/foreach}

    name表示数据源 item表示循环变量。

    {foreach name="list" item="vo" key="k"}
    {$vo.id}:{$vo.name}
    {/foreach}

    FOR标签

    {for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }{/for}

    开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt即为小于的意思,name的默认值是i,步进值的默认值是1。

    switch标签:

    多条件标签

    {switch 变量名}
        {case 1}值为1{/case}
        {case 1}值为2{/case}
        {case 1}值为3{/case}
        {default /}值为其他
    {/switch}

    case属性支持多个条件的判断

    对于case属性多个条件的判断,使用”|”进行分割

    {switch data.sex|intval}
        {case 16|17|18}值为16,17,18其中一个{/case}
        {default /}值为其他
    {/switch}

    比较标签:

    eq或者 equal:等于

    neq 或者notequal:不等于

    gt:大于

    egt:大于等于

    lt:小于

    elt:小于等于

    heq:恒等于

    nheq:不恒等于

    比较标签的用法基本是一致的,区别在于判断的条件不同,格式如下:

    {比较标签 name="变量" value="值"}内容{/比较标签}

    in标签与range标签:

    in 标签 in 标签用于某个模板变量是否在某个范围之内,格式如下:

    {in name="变量名" value="值1,值2,..."}在value值范围输出内容{/in}

    notin 标签 对应的notin 标签,为 in 标签的反义,即判断不在某个范围内:

    {notin name="变量名" value="值1,值2,..."}不在value值范围输出内容{/notin}

    in和notin两个标签合并起来等同于:

    {in name="变量名" value="值1,值2,..."}在value值范围输出内容{else /}不在value值范围输出内容{/in}

    range 标签 in 和 notin 标签也可以使用 range 标签来替代:

    {range name="变量名" value="值1,值2,..." type="in" }在value值范围输出内容{/range}

    上面的例子相当于 in 标签,当 type 属性的值为 notin 时就相当于 notin 标签。

    tp5    think5    模板标签    

    顶一下
    (0)
    0.00%
    踩一下
    0
    0.00%

    加载中~

    相关推荐

    RELATED RECOMMEND

    Copyright © 2012-2024 世敏网络 版权所有   闽ICP备18026760号-1    闽公网安备 35020502000640号   网站地图    Sitemap   关键词聚合

    世敏网络

    您已成功复制微信号,去微信立即添加好友!

    打开微信

    Wechart

    点击下方复制按钮,复制微信号!

    jzm866081

    https://www.xmsmwl.cn
    厦门世敏网络科技有限公司

    点击这里给我发消息
    嘿!有什么能帮到您的吗?