Symfony ChoiceType 中的图标
Icons in a Symfony ChoiceType
我有一个 Symfony 表单,我尝试用不同的图标显示 SelectField
。
我的 ChoiceType 看起来像这样
->add('icon', ChoiceType::class, [
'choices' => [
'' => '',
'' => '',
],
'mapped' => false,
])
我的CSS看起来像这样
select { font-family: 'FontAwesome', Verdana }
当我渲染一个正常的 select div 它工作得很好,我可以看到图标。
但是当通过 Symfony Form 尝试时它不起作用。我已经阅读了其他有同样问题的线程。一种解决方案是将 twig 的自动转义设置为 false 并尝试使用原始标签。但我仍然只看到纯文本“”,而不是 Select 框中的图标。
一个选项,你可以使用html_entity_decode
函数
public function buildForm(FormBuilderInterface $builder, array $options)
{
// prepare an array with icons
$icons = [
'',
'',
];
// decode our icons
$icons = array_flip(array_map('html_entity_decode',$icons));
// add field to formBuilder
$builder->add('icon', ChoiceType::class, [
'choices' => $icons,
'mapped' => false,
]);
}
添加css
select { font-family: 'FontAwesome'}
我有一个 Symfony 表单,我尝试用不同的图标显示 SelectField
。
我的 ChoiceType 看起来像这样
->add('icon', ChoiceType::class, [
'choices' => [
'' => '',
'' => '',
],
'mapped' => false,
])
我的CSS看起来像这样
select { font-family: 'FontAwesome', Verdana }
当我渲染一个正常的 select div 它工作得很好,我可以看到图标。
但是当通过 Symfony Form 尝试时它不起作用。我已经阅读了其他有同样问题的线程。一种解决方案是将 twig 的自动转义设置为 false 并尝试使用原始标签。但我仍然只看到纯文本“”,而不是 Select 框中的图标。
一个选项,你可以使用html_entity_decode
函数
public function buildForm(FormBuilderInterface $builder, array $options)
{
// prepare an array with icons
$icons = [
'',
'',
];
// decode our icons
$icons = array_flip(array_map('html_entity_decode',$icons));
// add field to formBuilder
$builder->add('icon', ChoiceType::class, [
'choices' => $icons,
'mapped' => false,
]);
}
添加css
select { font-family: 'FontAwesome'}