2
是否有任何方法来设置GLOBAL DEFAULT变量而不是为每个设置?如何设置树枝全局默认变量
{{ app.model.foo | default('not set') }}
{{ app.model.bar | default('not set') }}
是否有任何方法来设置GLOBAL DEFAULT变量而不是为每个设置?如何设置树枝全局默认变量
{{ app.model.foo | default('not set') }}
{{ app.model.bar | default('not set') }}
内置的默认过滤器不能做你想做的事情。这是它的完整代码:
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
属性,你可以从你的代码中设置,不过你想要的。
我的意思是任何可能的变量的全球默认 –
@Zukas看到我更新的答案 – Maerlyn