Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在模板中使用全局变量包括_Php_Twig - Fatal编程技术网

Php 在模板中使用全局变量包括

Php 在模板中使用全局变量包括,php,twig,Php,Twig,我需要在include中使用一个全局定义的变量$LANG,以便根据用户语言选择好的文件 我的变量定义如下: // File : index.php // Twig is defined earlier $twig->addGlobal('lang', $LANG); // File : body.html <div id="svg"> {% include 'svg/mysvg-'.lang.'.svg' %} </div> //文件:index.ph

我需要在include中使用一个全局定义的变量$LANG,以便根据用户语言选择好的文件

我的变量定义如下:

// File : index.php
// Twig is defined earlier
$twig->addGlobal('lang', $LANG);

// File : body.html
<div id="svg">
    {% include 'svg/mysvg-'.lang.'.svg' %}
</div> 
//文件:index.php
//细枝在前面定义过
$twig->addGlobal('lang',$lang);
//文件:body.html
{%include'svg/mysvg-'.lang..svg%}
当我试图在include中使用该变量时,是否可以使用该变量?它不是这样工作的。

我找到了方法:

{% include  (lang == 'fr') ? 'svg/mysvg-fr.svg' : 'svg/mysvg-de.svg' %}    

via:

我认为你应该能够像你在问题中那样做。但是,将细枝中的字符串连接起来并不是使用
~
的byt

{% include 'svg/mysvg-' ~ lang ~ '.svg' %}

您将全局
lang
添加到了twig,但在模板中您试图使用
lang
访问它!?编辑,错误抱歉。谢谢,比我的答案更好更干净!