configureformsfields方法中是否有一种方法可以从admin到同一行显示字段而不是另一行?例如一个CSS类?
答案 0 :(得分:5)
您可以将具有适当显示选项的CSS类添加到所选字段中:
->add('fieldname', null, [
'attr' => ["class" => "your-custom-class"]
])
此外,您可以修改.form-group
类(使所有字段内联):
.form-group {
display: inline-block;
}
如果您希望输入与其标签内联:
div.sonata-ba-field.sonata-ba-field-standard-natural {
display: inline-block;
}
可以找到如何创建CSS文件并将其加载到Sonata模板中的教程here。
答案 1 :(得分:0)
有一些解决方法: - 创建自定义表单类型以向表单字段添加新选项
class CustomTextType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->vars['parent_div_class'] = $options['parent_div_class'];
}
/**
* {@inheritdoc}
*/
public function getParent()
{
return TextType::class;
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'custom_text_type';
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(
[
'parent_div_class' => null,
]
);
}
{%extends' @ SonataDoctrineORMAdmin / Form / form_admin_fields.html.twig' %}
{%block form_row%}
{%if parent_div_class is defined和parent_div_class%}
<div class="{{ parent_div_class }}"> {{ parent() }} </div>
{%else%} {{parent()}} {% 万一 %} {%endblock%}
在您的管理类
中设置此主题$这 - &GT; setFormTheme([&#39; @管理员/形式/ form_theme.html.twig&#39;]);
享受。
答案 2 :(得分:0)
SonataCoreBundle
为此提供了form_type
选项。
# app/config/config.yml
sonata_core:
form_type: horizontal
答案 3 :(得分:0)