Attributes在Templates中的应用
1. 有哪些attributes?
- attributes
- title-attributes
- content_attributes
2. 它看起来像这样:
<div {{ attributes }}></div>
3. debug 调式
- kint()
- dump()
- dpm()
{{ kint(attributes) }}
4. attributes 方法
attributes.addClass()
添加单个class
<div {{ attributes.addClass('my-class') }}
添加多个class
{% set classes = [ 'red', 'green', ] %} <div {{ attributes.addClass(classes) }}></div>
删除class
attributes.removeClass()
{% set classes = ['red', 'green','blue'] %} <div {{ attributes.addClass(classes).removeClass('green')> }}></div>
5. 给元素添加/设置属性
attributes.setAttributes($attribute,$value)
// 给div添加id,id的值为myID <div {{ attributes.setAttribute('id','myID') }}></div>
输入:
<div id="myID"></div>
6. 给元素删除属性
attributes.removeAttribute($attribute)
// 删除id属性 <div {{ attributes.removeAttribute('id') }}></div>
7. 判断是否存在class
attributes.hasClass($class)
{% if attributes.hasClass('myClass') %} {# do some thing #} {% endif %}
8. 8.3.x 新增创建attribute对象
create_attribute()
以前,只能使用Twig模板中的现有Attribute对象。现在,可以使用Twig模板内的函数创建新的Attribute对象。这些对象可以像进入Twig模板的其他Attribute对象一样被操纵。
{% set my_attribute = create_attribute() %} {% set my_classes = [ 'kittens', 'llamas', 'puppies', ] %} <div{{ my_attribute.addClass(my_classes).addAttribute('id', 'myUniqueId') }}> {{ content }} </div>
<div{{ create_attribute({'class': ['region', 'region--header']}) }}> {{ content }} </div>