我正在研究一个相当复杂的多语言站点,它将根据html语言环境呈现不同的部分。Twig在包含之前检查部分存在
我有一个部分结构将使用附加到文件名称的区域设置来选择正确的。例如;
{% include '@BundleName/Layout/Text/_partial-name.' ~ htmlLocale ~ '.html.twig' with {'title' : resource.title } %}
虽然这可行,但如果选定的语言环境尚未(部分)创建了它的部分内容,则会产生错误。我想要做的是在尝试呈现它之前检查partial的存在性,如果它尚不存在,则回退到默认值。
{% if '@BundleName/Layout/Text/_partial-name.' ~ htmlLocale ~ '.html.twig' %}
{% include '@BundleName/Layout/Text/_partial-name.' ~ htmlLocale ~ '.html.twig' with {'title' : resource.title } %}
{% else %}
{% include '@BundleName/Layout/Text/_partial-name.html.twig' with {'title' : resource.title } %}
{% endif %}
很明显,这是行不通的,但那是我以后的事!
完美,这正是我所需要的。 – Alex