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>