树枝模板上表单字段的 setValue
setValue of a form field on twig template
我尝试在twig 模板上设置登录的用户信息,但找不到方法。
特别是,我尝试制作一个评论部分,我希望用户只写评论 text.Doing 所以,我想在模板树枝上设置作者(app.user.username),因为我无法获取用户信息在控制器文件上。
所以在我的控制器文件中,在函数显示中,我把这个:
if($form->isSubmitted() && $form->isValid() ){
$comment->setCreatedAt(new \DateTime())
->setExercice($exercice)
//would like to do it but cannot
//->setAuthor(app.user.username);
所以我寻找一种方法来制作类似
的东西
{{form_row(commentForm.author,{'attr': {
'value': app.user.username,
'class':hidden
}})}}
有办法吗?
我得到的错误是:
Variable "hidden" does not exist.
您最初的错误 Variable "hidden" does not exist.
发生是因为您试图引用 hidden
就好像它是变量或常量,而不是文字字符串。要将它用作文字字符串,您需要引用它:
{{ form_row(commentForm.author, {attr: {
value: app.user.username,
class: 'hidden'
}}) }}
您不需要引用数组的键(例如 value:
和 class:
),因为非标量值不能用作键。
然而,正如@msg 指出的那样,您不应依赖视图上的表单来获取用户详细信息。这会打开表格进行操纵,这意味着任何人都可以在发布的任何评论中冒充其他人。绝对在控制器期间直接填充 comment
实体的该字段。 -- 如果您在检查表单是否已提交之前执行此操作,则该信息也将可用于视图,例如将 $comment
暴露给视图意味着 {{ comment.username }}
也可以工作。
我尝试在twig 模板上设置登录的用户信息,但找不到方法。 特别是,我尝试制作一个评论部分,我希望用户只写评论 text.Doing 所以,我想在模板树枝上设置作者(app.user.username),因为我无法获取用户信息在控制器文件上。
所以在我的控制器文件中,在函数显示中,我把这个:
if($form->isSubmitted() && $form->isValid() ){
$comment->setCreatedAt(new \DateTime())
->setExercice($exercice)
//would like to do it but cannot
//->setAuthor(app.user.username);
所以我寻找一种方法来制作类似
的东西{{form_row(commentForm.author,{'attr': {
'value': app.user.username,
'class':hidden
}})}}
有办法吗?
我得到的错误是:
Variable "hidden" does not exist.
您最初的错误 Variable "hidden" does not exist.
发生是因为您试图引用 hidden
就好像它是变量或常量,而不是文字字符串。要将它用作文字字符串,您需要引用它:
{{ form_row(commentForm.author, {attr: {
value: app.user.username,
class: 'hidden'
}}) }}
您不需要引用数组的键(例如 value:
和 class:
),因为非标量值不能用作键。
然而,正如@msg 指出的那样,您不应依赖视图上的表单来获取用户详细信息。这会打开表格进行操纵,这意味着任何人都可以在发布的任何评论中冒充其他人。绝对在控制器期间直接填充 comment
实体的该字段。 -- 如果您在检查表单是否已提交之前执行此操作,则该信息也将可用于视图,例如将 $comment
暴露给视图意味着 {{ comment.username }}
也可以工作。