Twig中是否有较短的语法输出条件文本字符串?
<h1>{% if not info.id %}create{% else %}edit{% endif %}</h1>
传统的php比这更容易:
<h1><?php info['id']? 'create' : 'edit' ?></h1>
答案 0 :(得分:124)
这应该有效:
{{ not info.id ? 'create' : 'edit' }}
此外,这称为三元运算符。它隐藏在文档中:twig docs: operators
从他们的文档中,基本结构是:
{{ foo ? 'yes' : 'no' }}
答案 1 :(得分:24)
如果您需要比较该值等于您可以执行的操作:
{{ user.role == 'admin' ? 'is-admin' : 'not-admin' }}
您可以在树枝内使用猫王操作员:
{{ user ? 'is-user' }}
{{ user ?: 'not-user' }} // note that it evaluates to the left operand if true ( returns the user ) and right if not
答案 2 :(得分:0)
null-coalescing operator也可以正常工作,例如:
{% set avatar = blog.avatar ?? 'https://example.dev/brand/avatar.jpg' %}