我正在努力解决树枝定制形式的问题。
我的问题是在选项值的选项中添加翻译,例如{{' years' | trans}}。我可以通过调用翻译器在FormType代码中设置它,但它并不那么容易,它应该在twig中完成,因为它是演示的地方。 我不能做以下工作:
{{ numberYears ~ ' ' ~ 'years'|trans ~ ' -' ~ cost * numberYears ~ 'credits'|trans }}
如果有人可以提供帮助,那将非常愉快!
[编辑]
事实上,我的问题并不完善,所以我在下面重新制定:
在我的FormType中,我有以下代码,我想翻译年份,年份和学分。我想我可以通过调用翻译器在FormType中完成它,但我认为将选择数组作为关联array($cost, $year)
然后根据键,值在twig中构建标签会更好。我无法找到要覆盖的块。
public function buildForm(FormBuilderInterface $builder, array $options)
{
$userCredits = 15;
$cost = 5;
$yearsMax = min(3, (int) floor($userCredits / $cost));
$selectYears = array();
for ($i = 1; $i <= $yearsMax; $i++) {
$years = $i == 1 ? ' year' : ' years';
$value = $i . $years . ' -' . $cost * $i . ' credits';
$selectYears[$value] = $i;
}
$builder
->add('renewalYear', ChoiceType::class, array(
'label' => 'text.renew_for',
'required' => true,
'choices' => $selectYears
))
;
}
答案 0 :(得分:1)
从Symfony 2.7开始,您可以使用choice_translation_domain选项翻译选择值。
答案 1 :(得分:0)
尝试用括号括起来:
{{ numberYears ~ ' ' ~ ('years'|trans) ~ ' -' ~ cost * numberYears ~ ('credits'|trans) }}
希望这个帮助