0
{% 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];
    }
4

0 回答 0