同一行

时间:2016-01-28 05:07:08

标签: css forms sonata-admin

configureformsfields方法中是否有一种方法可以从admin到同一行显示字段而不是另一行?例如一个CSS类?

4 个答案:

答案 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,
        ]
    );
}
  • 创建扩展sonata one的自定义表单主题
  

{%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)

在symfony 4中,您可以在config/packages/sonata_admin.yaml

中进行全局配置
sonata_admin:
    options:
        form_type: 'horizontal'

给予: enter image description here