zoukankan      html  css  js  c++  java
  • Twig---基本使用

    三种特殊语法:

    {{ … }}   “说些什么”:输出一个变量值或者一个表达式的结果到模板。如:{{ item.username }}。 twig也包含filters,它可以在模板渲染之前改变输出内容。{{表达式 | filters}}。这里还需要注意的是,当表达式中传值的时候,使用『:』,例如:{{ path(‘board_reply’,{id:item.id}) }}
    {% … %}    “做些什么”:控制模板逻辑的tag(标签),用于执行声明,如if、for循环语句等。
    {# … #}    “进行注释”:它相当于php的语法。它用于注释单行和多行。注释的内容不作为页面输出。

    block 占位

    相当于是占位符,当模板被继承的时候,可以调用。占位符,当被另一个模板继承时,可以调用这个模块。定义时的内容在继承的模板中默认是不会出现的,可以使用 {{ parent() }} 来显示。块名称可以使用字母数字字符和下划线,不允许使用破折号(-)。 

    {% block ** %}
    用来定义
    {% endblock %}

    extends 继承

    不支持多重继承,只支持一个扩展模板

    {% extends 'base.html.twig' %}

    {% include %}:包含模板
    {% extends %}:扩展模板
    {% embed %} xxx {% endembed %}:包含模板并扩展该模板的内容,相当于 include 和 extends 的结合体
    {% macro %} xxx {% endmacro %}:定义宏以便多次调用,与定义 PHP 函数无异
    {% from aaa import bbb as ccc %}:从指定模板导入宏并设置别名

    注意事项

    如果在模板中使用{% extends %},它必须是模板中的第一个标签

    如果你发现在多个模板中有重复的内容,这可能意味着你需要为该内容在父模板中定义一个{% block %}了。

    某些情况下,更好的解决方案可能是把这些内容放到一个新模板中,然后在该模板中include它。例如(在哪使用在哪 include): {{ include(‘article/article_details.html.twig’, { ‘article’: article }) }}

    如果你需要从父模板中获取一个block的内容,可以使用{{ parent() }}函数。如果你只是想在父级块上添加新内容,而不是完全覆盖它,这很有用。

    记住 end

    例如:{% if ** %}  和 {% endif %}   {% for %} 和 {% endfor %}

    判断

    变量是否定义(存在)

    {% if item is defined %}
    {% item.name %}
    {% endif %}

    变量是否为空

    {% if item is null %}
        {# do something #}
    {% endif %}
    {% if item %}
    
         {{ item.id }} 
    
    {% else %}
            <h1>还没有人留言或留言已经删除</h1>
    {% endif %}

    多条件使用:

    {% for item in list %}
        <li> {{ item.title }} </li>
    {% endfor %}

    按数组的 key,value 进行遍历,key=index,value=item

    {% for index, item in list %}
        {{ index }}:{{ item.id }}
    {% endfor %}

    按照数组的 key 进行遍历

    {% for key in list|keys %}
    {{ key }}
    {% endfor %}
  • 相关阅读:
    python基础学习笔记(五)
    python进阶学习笔记(一)
    python基础学习笔记(七)
    LoadRunner 技巧之 脚本设计
    python基础学习笔记(八)
    python基础学习笔记(三)
    python基础学习笔记(十一)
    性能测试知多少性能分析与调优的原理
    python基础学习笔记(十)
    python基础学习笔记(六)
  • 原文地址:https://www.cnblogs.com/e0yu/p/9928846.html
Copyright © 2011-2022 走看看