sva*_*ssr 4 translation filter symfony
我正试图在这样的自定义枝条过滤器中使用翻译
public function formatTime($timestamp)
{
$str = date('j %\m%',$timestamp);
$str = str_replace($str, '%m%', $this->get('translator')->trans('month'.date('m', $timestamp) ) );
return $str;
}
Run Code Online (Sandbox Code Playgroud)
当然得到的是未知的功能.我是否应该让我的扩展程序了解环境或只是请求翻译课程使其可用?
lis*_*nko 14
您可以translator在您的班级注入服务:
<service id="acme.extension" class="Acme\Twig\Extensions\FormatterExtension">
<tag name="twig.extension"/>
<argument type="service" id="translator"/>
</service>
Run Code Online (Sandbox Code Playgroud)
然后在受保护的字段中存储转换器实例并在以后使用它:
public function formatTime($timestamp)
{
$str = date('j %\m%',$timestamp);
$str = str_replace($str, '%m%', $this->translator->trans('month'.date('m', $timestamp) ) );
return $str;
}
Run Code Online (Sandbox Code Playgroud)
UPD1: YAML服务定义的配置:
acme.extension:
class: Acme\Twig\Extensions\FormatterExtension
arguments: [@translator]
tags:
- name: twig.extension
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5850 次 |
| 最近记录: |