在 template_from_string 函数中使用树枝过滤器
Use a twig filter in template_from_string function
我正在使用 Rainlab Translate 和 Vojta Svoboda Twig Extensions 插件使用 October CMS 创建一个多语言网站。
我正在使用树枝函数 template_from_string
在我的一个模板文件中创建一个 link 按钮。
一切正常 if 我在 link 属性中使用 |media
过滤器,以获取媒体文件的 url .
但是,如果我使用 |page
过滤器来获取页面 url,我会收到 Unknown "page" filter.
的错误
<!-- It works: -->
<div>
{% set btn = {
'link': 'foobar.jpg',
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link|media }}" role="button">{{ btn.label }}</a>')) }}
</div>
<!-- It does not work: -->
<div>
{% set btn = {
'link': 'foobar',
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link|page }}" role="button">{{ btn.label }}</a>')) }}
</div>
我被这个问题困住了,我的问题是:我怎样才能让两个过滤器都工作?
预先感谢您的帮助。
我认为你忽略了一些东西:)
你可以这样使用
<div>
{% set btn = {
'link': 'fooba'|page, <-- HERE
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link }}" role="button">{{ btn.label }}</a>')) }}
</div>
你可以使用filter on main scope
直接传递filtered value
。您不需要在 template_from_string
中使用过滤器
如有疑问请评论。
我正在使用 Rainlab Translate 和 Vojta Svoboda Twig Extensions 插件使用 October CMS 创建一个多语言网站。
我正在使用树枝函数 template_from_string
在我的一个模板文件中创建一个 link 按钮。
一切正常 if 我在 link 属性中使用 |media
过滤器,以获取媒体文件的 url .
但是,如果我使用 |page
过滤器来获取页面 url,我会收到 Unknown "page" filter.
<!-- It works: -->
<div>
{% set btn = {
'link': 'foobar.jpg',
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link|media }}" role="button">{{ btn.label }}</a>')) }}
</div>
<!-- It does not work: -->
<div>
{% set btn = {
'link': 'foobar',
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link|page }}" role="button">{{ btn.label }}</a>')) }}
</div>
我被这个问题困住了,我的问题是:我怎样才能让两个过滤器都工作? 预先感谢您的帮助。
我认为你忽略了一些东西:)
你可以这样使用
<div>
{% set btn = {
'link': 'fooba'|page, <-- HERE
'label': 'Where is FooBar »'
} %}
{{ include(template_from_string('<a class="btn btn-promo btn-white move" href="{{ btn.link }}" role="button">{{ btn.label }}</a>')) }}
</div>
你可以使用filter on main scope
直接传递filtered value
。您不需要在 template_from_string
如有疑问请评论。