日期:2016-07-15 阅读:3567
dmandwp系统 - wordpress系统和DM系统区块建站>>
twig文档: http://twig.sensiolabs.org/documentation
twig的作者是 Fabien Potencier,同时也是 Symfony framework的作者. Twig 遵守开源协义: new BSD license.
--------------------
在这里,我们说过,可以开启twig主题文件的方法。
twig的语法:
{# ... #} --这是用来注释的
{{ ... }} --用来输出,像php里的echo
{% ... %} --用来写逻辑的,比如if else ,loop等
更多:http://valuebound.com/node/222
比如:
{# Setting a variable #} -- 这是注释
{% set name = 'Drupal' %} --- 设置变量
{# This is a comment in Twig #}
<h1>Welcome to {{ name }}</h1> -- 输出变量
Dumping variables
<pre>{{ dump(name, is_front) }}</pre>
Filters
<p>{{ name|upper }} Rocks.</p> {% filter upper %} <p>{{ name }} is the best cms around.</p> {% endfilter %}
Control structures
{# Conditional logic #} {% set offline = true %} {% if offline == true %} <p>Website is in maintenance mode.</p> {% endif %} {# Looping #} {% for i in 0 ..10 %} {{ i }} {% endfor %}
----------
Using attributes in templates
{% set classes = ['red', 'green', 'blue'] %}
{% set my_id = 'specific-id' %}
{% set image_src = 'https://www.drupal.org/files/powered-blue-135x42.png' %}
<img{{ attributes.addClass(classes).removeClass('green').setAttribute('id', my_id).setAttribute('src', image_src) }}>
outputs <img id="specific-id" class="red blue" src="https://www.drupal.org/files/powered-blue-135x42.png">
addClass,removeClass 有点像jquery一样。
更多 : https://www.drupal.org/node/2513632
-------------------
首页和翻译:
<a href="{{ url('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo"></a>
https://www.drupal.org/node/2357633
---------------
通过 {{ dump() }} 在twig里查看变量
https://www.drupal.org/node/1906780
---------------------
关于摘要:
twig目前不支持 truncate 。
比如: {{"A long text should be truncated":truncate(8)}}
可以装这个模块
https://www.drupal.org/project/twig_extender
但其实可以用显示模式设置字段为trimmed。然后在node里再 {{content.node}}
---------------
使用include
主题里有头部和底部,每个页面都有,都要调用header,footer
就可以这样操作:
先创建这个文件: THEME_NAME/includes/header.html.twig
然后在page.html.twig里调用:
{% include directory ~ '/includes/header.html.twig' %}
-----------------