{% for job in jobs %}
{% if job.subject|trans %}
<div> {{ job.info }} </div>
{% endif %}
{% endfor %}
我有三种语言的翻译,只有英语是强制性的。无论选择什么语言,ATM 都会显示作业(如果没有给出其他翻译,twig 使用默认的 en 翻译。我希望它仅在给出该语言的作业翻译时才显示作业信息(如果它存在于选定的语言环境中) )。 这怎么可能?
固定问题:
问题已通过控制器中的一些来回修复。不理想但它有效(isLocale($locale, $job) 只是检查 ORA 可翻译,如果工作在给定的语言环境中有一个主题):
public function indexAction(Request $request)
{
$repository = $this->getJobRepository();
$jobs = $repository->findBy(['active' => true], ['sortOrder' => 'ASC']);
return ['jobs' => $jobs];
$locale = $request->getLocale();
$localeJobs = array();
foreach ($jobs as $job){
if($this->isLocale($locale, $job)) array_push($localeJobs, $job);
}
return ['jobs' => $localeJobs];
}