如何设置twig全局默认变量

时间:2014-06-07 15:31:40

标签: variables twig default

有没有办法设置GLOBAL DEFAULT变量而不是为每个变量设置?

{{ app.model.foo | default('not set') }}
{{ app.model.bar | default('not set') }}

1 个答案:

答案 0 :(得分:0)

内置的默认过滤器无法达到您想要的效果。这是完整的代码:

function _twig_default_filter($value, $default = '')
{
    if (twig_test_empty($value)) {
        return $default;
    }

    return $value;
}

但是树枝是easy to extend!您可以创建自己的枝条扩展,它会注册一个新的过滤器,其代码如下所示:

function my_default_filter($value, $default = '')
{
    if (twig_test_empty($value)) {
        return $default ?: $this->default;
    }

    return $value;
}

您的班级有$default属性,您可以根据自己的代码设置该属性。