css - 使用 {{form_label()}} 在表单前面的文本列

标签 css symfony

我正在尝试重用这段旧代码来制作一些表格:

在 form.html.twig 中

<div class="row" style='margin-bottom: 5px'>
        <div style='white-space:nowrap'>
          <div class='col-xs-2'></div>
          <div class='col-xs-3' style='border-bottom:1px solid black;padding-bottom: 14px'><div style='float:right'>{{ form_label(form.class.variable, 'Text on one column and text on another column', {'label_attr':{'style':'margin-top:5px'}})}}</div>
          <div class='col-xs-3' style='border-bottom:1px solid black;padding-bottom: 5px'>{{ form_widget(form.class.variable, {'attr':{'style':'width:95px','placeholder':'RAW value'}})}}</div>
          <div class='col-xs-3'></div>
        </div>  

我想在这张图片的表格前有两列: two columns

谢谢指教!

最佳答案

您需要自定义您的 form_label block 。

看看例子here

编辑:

粗略地说,您正在寻找这样的东西:

您的表单主题(例如,two_column_labels.html.twig):

{% extends 'form_div_layout.html.twig' %}

{% block form_row %}
    <div class="row">
        <div class="col-sm-6">
            {{ form_label(form) }}
        </div>
        <div class="col-sm-3">
            {{ form_errors(form) }}
        </div>
        <div class="col-sm-3">
            {{ form_widget(form) }}
        </div>
    </div>
{% endblock form_row %}

{% block form_label %}
    {% if label_attr.extra_label is defined %}
        <div class="row">
            <div class="col-sm-6">
                {% set orig_label = label %}
                {% set new_label_attr = [] %}
                {% for key,value in label_attr %}
                    {% if key != 'extra_label' %}
                        {% set new_label_attr = new_label_attr|merge({(key): value}) %}
                    {% else %}
                        {% set label = value %}
                    {% endif %}
                {% endfor %}
                {% set label_attr = new_label_attr %}
                {{ parent() }}
                {% set label = orig_label %}
            </div>
            <div class="col-sm-6">
                {{ parent() }}
            </div>
        </div>
    {% else %}
        {{ parent() }}
    {% endif %}
{% endblock form_label %}

在您的表单类中的表单字段定义中:

  'label' => 'Second Label',
  'label_attr' => array('extra_label' => 'First Label'),

在您的表单模板中:

{% form_theme form 'two_column_labels.html.twig' %}

关于css - 使用 {{form_label()}} 在表单前面的文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46449841/

相关文章:

html - 为什么我的显示是:inline-block; property displaying in top-to-bottom and not left-to-right?

html - 使用 Waypoints 的 addClass 和 removeClass 触发器

javascript - 如何将 HTML 文件转换为 GIF

symfony - 从 Symfony 3 迁移到 4 时如何保留记住我?

php - 函数声明中的双冒号

html - 具有 float 和可变右键的流体文本输入

html - 我怎样才能使这些 div 在小屏幕上工作?

symfony - "symfony new project-name"命令以 ISO-9958-1 编码生成文件

php - Symfony2 Twig 包括 Assets 无法正常工作的 header

php - 是否可以在 symfony 中的路由路径中使用前缀或 const