我想有條件地從宏觀回報,這樣的僞代碼返回:嫩枝:有條件地從宏觀
{% macro example() %}
...
{% if condition %} {% return %} {% endif %}
...
{% endmacro %}
這是可能的嫩枝,或許還有一個枝條延伸?
我想有條件地從宏觀回報,這樣的僞代碼返回:嫩枝:有條件地從宏觀
{% macro example() %}
...
{% if condition %} {% return %} {% endif %}
...
{% endmacro %}
這是可能的嫩枝,或許還有一個枝條延伸?
有在樹枝沒有回報,但是你可以用宏的其餘部分在if not condition
塊這樣的:
{% macro example() %}
...
{% if not condition %}
...
{% endif %}
{% endmacro %}
請記住,樹枝是一個模板語言。
你知道嗎?可以通過編寫Twig擴展來創建回報? –
我不知道樹枝內部足以回答這個問題。 – Maerlyn
{% macro example(isTrue) %}
{% if isTrue %}
10
{% else %}
20
{% endif %}
{% endmacro %}
{% import _self as self %}
{% set aaa = 3 + self.example(true) ~ '' %}
{{ aaa }}
{% set bbb = 3 + self.example(false) ~ '' %}
{{ bbb }}
輸出:
13
23
這裏是例子:
{# macro #}
{% macro check(isTrue) %}
{% if isTrue %}
show-paywall
{% else %}
show-content
{% endif %}
{% endmacro %}
{# usage #}
{% import _self as self %}
{% set per = self.check(true)|trim %}
{% if per == 'show-paywall' %}
{{'Show paywall man.'}}
{% else %}
{{ 'You are good man.' }}
{% endif %}
你可以玩在線: https://twigfiddle.com/etn6ef
[這是不好用的宏返回值(HTTPS: //github.com/fabpot/Twig/issues/1497#issuecomment-54506873) – moldcraft