English 中文(简体)
在Symfony2中,我如何从表格建筑中找到标签?
原标题:In Symfony2, how do I get labels from the FormBuilder

在 Symfony 2, 我使用“ 窗体构建器 ” 。 我根据文档将标签设置在窗体中 。

然而,当我在节目和索引页上时,我必须把标签复制到Twig。

是否有办法让各地使用相同的标签?

  • Access the formbuilder configuration, but without actually building the form
  • Have a central config file, and lookup from the formbuilder and the twig files into that file

然而,无论哪种方式,我都需要做一些事情,我从不习惯于交响乐。这似乎已经解决了,但我不知道如何解决。

最佳回答

您可以使用翻译系统来克服这个问题。 请确定您已经启用了 config.yml 的翻译 。

如果您在表格类型中添加了字段, 则使用此格式类型

$builder->add( title ,  text , array(
     label =>  model.title 
));
//.....

在您的捆包 resources/ translations 目录中创建一个名为 messages.en.yml 的文件( 替换 resources 和您的默认本地设置, 并根据本地设置多个文件 。 check < a href=" http://symfony. com/doc/ master/ book/ translation. html" rel=" noreferr" > Translation codecaptain.

#src/YourBundle/Resources/translation/messages.en.yml
model:
    title: "Title"
    field: "Field"
    #....

添加和编辑窗体标签标签将显示 Tittle 。 在索引和显示页面中,您可以做

{{ "model.title" | trans([],  messages ) }}

虽然这个过程有点长, 但只是一次, 您可以更改翻译文件来改变标签的值 。

问题回答

@Munun Mun Das 回答。

在 Symfony 6 中, 看起来我们甚至不需要在窗体模板中使用 Trans () 。 我定义了 Type file (php) 文件中的标签, 并直接翻译。 我不知道原因 。

<强 > 示例

格式类型

#src/Form/UserType.php   
$builder->add( uEmail , TextType::class, array(
                     label =>  uEmail  ,
                     attr  => [  maxlength  => 50]
                ))

翻译文件

#translations/message.en.yaml
uEmail: Email

它自动翻译 。 我猜Symfony 试图在默认情况下翻译它? 如果标签没有在 userType.php 中设置, 或是在 form_ label () 函数的模板中设置, 它会默认地显示“ u Email ”





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...