gpt4 book ai didi

symfony - 如何将 Twig 过滤器应用于 form_label(form.name),例如 'capitalize'?

转载 作者:行者123 更新时间:2023-12-02 15:52:25 26 4
gpt4 key购买 nike

我的问题涉及在表单中应用 Twig 过滤器而不会出现 500 服务器错误。这是代码,位于 View “Room/new.html.twig”中:

{{ form_label(form.name) }}

{{ form_label(form.name, 'room.name') }}

两者都会输出:'nom de salle'(法语中的'房间名称')。这是因为,在我的翻译文件“messages.fr.yml”中,我有:

room.name: "nom de salle"

此外,我使用以下代码在表单类型“RoomType.php”中激活了翻译:

->add('name', 'text', array(
'label' => 'room.name'

))

我尝试了我想到的所有可能的 |capitalize 组合,但要么出现 500 服务器错误,要么根本没有任何变化。一些例子:

{{ form_label(form.name)|capitalize }}
{{ form_label(form.name, 'room.name'|capitalize) }}

还有更多...

有人知道怎么做吗,Symfony 文档中似乎没有。当然,我考虑过将翻译复制为一个小写字母和一个以大写字母开头的翻译,但这会破坏该对象。另外,我想与此 form_label() 函数一起使用其他 Twig 过滤器。非常感谢您的帮助,谢谢。

最佳答案

我刚刚找到了解决方案。这太容易了,以至于令人尴尬。我以为我不需要 |trans 因为它已经被翻译了,但如果没有它,'room.name' = 'nom de salle' 将转换为 'Room.name' 而不是 'Nom de salle'。所以正确的代码是:

{{ form_label(form.name, 'room.name'|trans|capitalize) }}

关于symfony - 如何将 Twig 过滤器应用于 form_label(form.name),例如 'capitalize'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com