css - 如何使用 Symfony2 设置小部件类型的 css 类

标签 css symfony widget twig

有没有办法根据输入类型在输入的根 div 上应用特定类?

例如:

<div class="radio-input">
    <input...
    ....
</div>

我试图用这个重载“fields.html.twig”:

{% block form_row %}
{% spaceless %}
    {% set type = type|default('text') %}
    <div class="{{ type }}-input">
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    </div>
{% endspaceless %}
{% endblock form_row %}

但是“type”总是等于“text”。

最佳答案

这不是一个特别好的解决方案,但似乎 block_prefixes 被传递给 block form_row。 Block_prefixes 是按继承顺序排列的表单字段类型数组,因此名为 first name 的文本字段将有一个 block_prefixes 数组,如:

block_prefixes = array("form","field","text","first_name")

这意味着您可能会从最后一个数组元素中获取第二个并使用它:

{% block form_row %}
{% spaceless %}
    <div class="{{ (block_prefixes|slice((block_prefixes|length - 2),1))|first }}-input">
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    </div>
{% endspaceless %}
{% endblock form_row %}

我确信有比这更好的方法,尽管我只是不介意。

P.s 类型是未定义的,这就是为什么它总是 text 因为你将它设置为默认文本

关于css - 如何使用 Symfony2 设置小部件类型的 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17232191/

相关文章:

widget - Flutter Inspector Toggle Select Widget 模式不起作用。

javascript - 小部件在 td 中心对齐 div 的 Css 样式错误

symfony - Google App Engine 上的 document_root 无法识别

wordpress中小部件区域的CSS悬停图像

HTML/CSS - 如何正确定位这些嵌套的无序列表?

html - 在 Zurb Foundation 中填充垂直对齐

symfony - 如何使用 phpstorm 和 symfony2 插件获得容器的自动完成功能?

php - Doctrine DQL 子查询给出零结果

css - 加载异步列表时如何在 Angular2 中使用 CSS 微调器?

css - 将背景图像添加到 mat-dialog