![](/img/trans.png)
[英]How to translate property with params in choice_label from EntityType
[英]Customize 'choice_label' of EntityType Field for Twig
我有以下表格:
$form = $this->createFormBuilder()
->setMethod('POST')
->add('users', EntityType::class, array(
'class' => 'AppBundle:User',
'choices' => $users,
'expanded' => true,
'multiple' => false,
'choice_label' => function ($user) {
return $user->getUsername();
}
))
->add('selected', SubmitType::class, array('label' => 'select'))
->getForm();
return $this->render('default/showUsers.html.twig', array('form' => $form->createView()));
我有兩個問題:
我無法自定義'choice_label'
例如:
'choice_label' => function ($user) { return ($user->getId() + " " + $user->getUsername()); }
每次選擇后(或每個單選按鈕之后)都沒有換行符,這對很多用戶來說都很難看。
如何自定義'choice_label'
?
每個單選按鈕后如何獲得換行符?
您可以根據需要將其自定義為字符串方法,然后在表單構建器中刪除“ choice_label”屬性
//in user entity
public function __toString()
{
$string =$this->getId(). ' ' . $this->getUsername();
return $string;
}
為了自定義標簽,我將使用樣式表。 您可以基於單個無線電輸入的值,使用attr或choice_attr添加一個類。例如
->add('users', EntityType::class, array(
'class' => 'AppBundle:User',
'choices' => $users,
'attr' => array('class' =>'type_label'),
'choice_attr' => array(
'0' => array('class' => 'class_one'),
'1' => array('class' => 'class_two'),
),
'expanded' => true,
'multiple' => false,
))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.