首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Twig中的递归宏

Twig中的递归宏
EN

Stack Overflow用户
提问于 2016-11-21 02:00:57
回答 2查看 4.7K关注 0票数 2

我已经在Twig中添加了一个宏,并且我正在尝试让这个宏调用它自己。现在看来,使用_self似乎不太受欢迎,而且不起作用,返回错误:

代码语言:javascript
运行
复制
using the dot notation on an instance of Twig_Template is deprecated since version 1.28 and won't be supported anymore in 2.0.

如果我确实将_self作为x导入,那么当我最初调用宏时,它就会工作:

代码语言:javascript
运行
复制
{% import _self as twigdebug %}
{{ twigdebug.recursiveTree() }}

但是我不能使用_self或twigdebug.recursiveTree递归调用宏。

有没有办法做到这一点?

EN

Stack Overflow用户

发布于 2017-01-02 19:40:42

示例:

代码语言:javascript
运行
复制
{% macro recursiveCategory(category) %}
    {% import _self as self %}
    <li>
        <h4><a href="{{ path(category.route, category.routeParams) }}">{{ category }}</a></h4>  
        {% if category.children|length %}
            <ul>
                {% for child in category.children %}
                    {{ self.recursiveCategory(child) }}
                {% endfor %}
            </ul>
        {% endif %}
    </li>
{% endmacro %}

{% from _self import recursiveCategory %}

<div id="categories">
    <ul>
        {% for category in categories %}
            {{ recursiveCategory(category) }}
        {% endfor %}
    </ul>
</div>
票数 12
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40707461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档