欢迎关注微信公众号:chave-cn

Drupal 8 Twig模板中的函数

Twig提供了许多方便的函数,可以直接在模板中使用。

Twig函数列表

Drupal核心增加了一些Drupal特定的自定义函数。这些在TwigExtension类中定义。

您还可以在自定义模块中定义自己的自定义Twig函数(但不是在主题中)。要找到如何执行此操作的示例,请参阅core / modules / system / tests / modules / twig_extension_test / src / TwigExtension / TestExtension.php中的示例

url($ name,$ parameters,$ options)

根据路径名称和参数生成绝对URL:

<a href="{{ url('view.frontpage.page_1') }}">{{ 'View all content'|t }}</a>

生成当前网址的绝对网址:

<a href="{{ url('<current>') }}">{{ 'Reload'|t }}</a>

生成首页的绝对URL:

<a href="{{ url('<front>') }}">{{ 'Home'|t }}</a>

path($ name,$ parameters,$ options)

生成一个给定路径名称和参数的[相对] URL路径。

{# Link to frontpage view. #}
<a href="{{ path('view.frontpage.page_1') }}">{{ 'View all content'|t }}</a>

{# Link to user entity/profile page. #}
<a href="{{ path('entity.user.canonical', {'user': user.id}) }}">{{ 'View user profile'|t }}</a>

{# Link to node page. #}
<a href="{{ path('entity.node.canonical', {'node': node.id}) }}">{{ 'View node page'|t }}</a>

url和path函数的定义与\ Symfony \ Bridge \ Twig \ Extension \ RoutingExtension中的路径函数紧密平行。

link($ text,$ url,$ attributes)

这个辅助函数接受的第一个参数的文本和第二个参数的URL

例子:
{{ link(item.title, item.url, { 'class':['foo', 'bar', 'baz']} ) }}

FILE_URL($ URI)

这个帮助函数从根接受一个相对路径,并创建一个相对于该文件的URI路径。

{{ file_url(node.field_example_image.entity.uri.value) }}

attach_library($library)

将引用库附加到模板。

{{ attach_library('classy/node') }}

 

英文:drupal.org

微信号
微信公众号

tao-s.com