我正在为PHP应用程序中的某些表单使用twig文件。我在这个链接后做了一切
告诉我们如何使用Twig_Extensions_Extension_I18n翻译twig文件。我相信我已经遵循了所有步骤,但我似乎无法解决问题。
这就是我的PHP代码的样子
require_once 'Twig/Autoloader.php';
Twig_Autoloader::register();
$twig_loader = new Twig_Loader_Filesystem(APP_PATH . 'corporate/views');
$GLOBALS['twig'] = new Twig_Environment($twig_loader, array(
'cache' => TMP_PATH . 'twig_cache',
'debug' => DEBUG,
'auto_reload' => true
));
$GLOBALS['twig']->addExtension(new Twig_Extensions_Extension_I18n());
return $GLOBALS['twig']->
render('path/to/twig/template'.$formTemplate,
array_merge($formVariables,
array(
"help" => isset($helpbox) ? $helpbox : array(),
"type" => $current_data['type'],
"integration_id" => $current_data['action_comp'],
"automation_type" => $current_data['automation_type']
)
)
);
还有另一个PHP文件,我读取所有twig文件并运行以下命令,如下所示。
$exe = 'xgettext --force-po --default-domain emarketeer --keyword="pgettext:1c,2" -c -j -o /tmp/messages.po '.escapeshellarg($file).' >/dev/null 2>&1';
system($exe);
这是我的twig模板($ formTemplate)的样子
{%extends' integration / _mixed / automation_form_wrapper.twig' %}
{%block formular%} {%import" _utils / form.twig"形式为%}
{{form.boxlabel('名称(选择自动化名称)' | trans,"名称")}}
{{form.input(" action_name",action_name.value,"","", action_name.collection)}}
{%endblock%}
导入的树枝模板(' _utils / form.twig')作为表单如下
{%macro boxlabel(label,label_for,tooltip,class,extra)%} {%set label_parts = label | split(" \ n")%} {{ - label_parts [0] - }} {%if tooltip%} {%endif%} {%if label_parts [1]%} {{label_parts [1]}} {% endif%} {%endmacro%} {%宏输入(名称,值,类型,类,额外)%} {%endmacro%}
任何人都可以告诉我,如果我错过了什么。会有很多代码我无法定义或解释,但我希望我已经提出了这个想法和问题。任何帮助将不胜感激。