我正在尝试使用包含我的母语字符的树枝模板并收到此错误
object(Twig_Error_Syntax)[173]
private 'lineno' (Twig_Error) => int 1
private 'name' (Twig_Error) => string 'sms' (length=3)
private 'sourceCode' (Twig_Error) => string 'Привет, {{name}}' (length=22)
protected 'message' => string 'Unexpected token "end of template" of value "" in "sms" at line 1.' (length=66)
private 'string' (Exception) => string '' (length=0)
protected 'code' => int 0
protected 'file' => string '/var/www/bitrix/vendor/twig/twig/lib/Twig/ExpressionParser.php' (length=62)
protected 'line' => int 201
但是,相同的代码对于拉丁字符也可以正常工作。
我使用的代码如下:
$loader = new Twig_Loader_Array(['sms' => $arTemplate['PROPERTY_SMS_VALUE']['TEXT'], 'mail' => $arTemplate['PROPERTY_EMAIL_VALUE']['TEXT']]);
$twig = new Twig_Environment($loader);
try {
$sms_text = $twig->render('sms', ['name' => $_REQUEST[FIELD_NAME]]);
基本上,它从数据库中提取树枝并应用简单的渲染。我使用没有Symfony的树枝(仅安装了基本要求)
答案 0 :(得分:0)
最好将tools.twig用于Bitrix CMS。
composer req maximaster/tools.twig
然后,您应该删除 template.php 并在组件文件夹中创建 template.twig 文件。
在文档中,您可以在树枝模板和模板bitrix variables的规则中找到inheritance。