草庐IT

php - Symfony 表单集合 Twig 渲染

coder 2024-05-05 原文

我的编辑表单上的表单集合的 Twig 渲染有问题。 表单加载没有问题,但集合字段的标签加倍并从选项修改为数字,jsfiddle 将显示我的意思。

  1. jsfiddle output of the html
  2. Also a screenshot

Twig 模板:

{% block body %}
    <div class="row">
        <div class="col-md-12">
            <a href="#" class="add-choice btn btn-default" aria-label="Add Choice">
                <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>
                Adauga Camp
            </a>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h1>Editeaza intrebarea</h1>
                </div>
                <div class="panel-body">
                    {{ form_start(edit_form, {'attr': {'class': 'form-horizontal'} } ) }}
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.question, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.question, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.question) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.surveyId, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.surveyId, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.surveyId) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.fieldType, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.fieldType, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.fieldType) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            {{ form_label(edit_form.categoryId, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
                            <div class="col-md-8">
                                {{ form_widget(edit_form.categoryId, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form.categoryId) }}
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <div class="col-md-8">
                                {{ form_widget(edit_form._token, {'attr': {'class': 'form-control'} } ) }}
                                {{ form_errors(edit_form._token) }}
                            </div>
                        </div>
                    </div>
                    <div class="multiple-choice-prototype"
                         data-prototype="{{ form_widget(edit_form.answerId.vars.prototype)|e('html_attr') }}">
                        {{ form_widget(edit_form.answerId) }}
                    </div>
                    {{ form_widget(edit_form) }}
                    <div class="row">
                        <div class="form-group">
                            <div class="col-sm-offset-2 col-sm-10">
                                <button type="submit" value="Edit" class="btn btn-default">Salveaza</button>
                            </div>
                        </div>
                    </div>
                    {{ form_end(edit_form) }}
                    <div class="row">
                        <div class="col-md-12">
                            <div class="btn-group">
                                {{ form_start(delete_form) }}
                                <a class="btn btn-default" href="{{ path('surveyquestion_index') }}">Inapoi</a>
                                <input class="btn btn-default" type="submit" value="Sterge">
                                {{ form_end(delete_form) }}
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
{% endblock %}

田间 Twig :

{% block _survey_question_answerId_entry_widget %}
    <div class="row multiple-choice-container">
        <div class="form-group">
            {{ form_label(form.value, null, {'label_attr': {'class': 'col-sm-2 control-label'} } ) }}
            <div class="col-md-8">
                <div class="input-group">
                    <div class="input-group-addon">
                        <span class="glyphicon glyphicon-record" aria-hidden="true"></span>
                    </div>
                    {{ form_widget(form.value, {'attr': {'class': 'form-control'} } ) }}
                    {{ form_errors(form.value) }}
                </div>
            </div>
            <div class="col-md-2">
                <div class="btn-group">
                    <a href="#" class="add-choice btn btn-default" aria-label="Add Choice">
                        <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>
                    </a>
                    <a href="#" class="remove-choice btn btn-default" aria-label="Remove Choice">
                        <span class="glyphicon glyphicon glyphicon-minus" aria-hidden="true"></span>
                    </a>
                </div>
            </div>
        </div>
    </div>
{% endblock %}

最佳答案

    ->add('answerId', CollectionType::class, [
        'entry_options' => [
          'label' => false,
        ],
        'entry_type' => AnswerType::class,
        'allow_add' => true,
        'allow_delete' => true,
        'label' => false,
        'by_reference' => false,
    ])

这应该可以完成工作

关于php - Symfony 表单集合 Twig 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38583638/

有关php - Symfony 表单集合 Twig 渲染的更多相关文章

  1. ruby-on-rails - Rails 编辑表单不显示嵌套项 - 2

    我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib

  2. ruby-on-rails - 渲染另一个 Controller 的 View - 2

    我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>

  3. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  4. ruby - 如何在 Rails 4 中使用表单对象之前的验证回调? - 2

    我有一个服务模型/表及其注册表。在表单中,我几乎拥有服务的所有字段,但我想在验证服务对象之前自动设置其中一些值。示例:--服务Controller#创建Action:defcreate@service=Service.new@service_form=ServiceFormObject.new(@service)@service_form.validate(params[:service_form_object])and@service_form.saverespond_with(@service_form,location:admin_services_path)end在验证@ser

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  7. ruby - 按数字(从大到大)然后按字母(字母顺序)对对象集合进行排序 - 2

    我正在构建一个小部件来显示奥运会的奖牌数。我有一个“国家”对象的集合,其中每个对象都有一个“名称”属性,以及奖牌计数的“金”、“银”、“铜”。列表应该排序:1.首先是奖牌总数2.如果奖牌相同,按类型分割(金>银>铜,即2金>1金+1银)3.如果奖牌和类型相同,则按字母顺序子排序我正在用ruby​​做这件事,但我想语言并不重要。我确实找到了一个解决方案,但如果感觉必须有更优雅的方法来实现它。这是我做的:使用加权奖牌总数创建一个虚拟属性。因此,如果他们有2个金牌和1个银牌,加权总数将为“3.020100”。1金1银1铜为“3.010101”由于我们希望将奖牌数排序为最高的,因此列表按降序排

  8. ruby-on-rails - Rails 渲染带有驼峰命名法的 json 对象 - 2

    我在一个简单的RailsAPI中有以下Controller代码:classApi::V1::AccountsControllerehead:not_foundendendend问题在于,生成的json具有以下格式:{id:2,name:'Simpleaccount',cash_flows:[{id:1,amount:34.3,description:'simpledescription'},{id:2,amount:1.12,description:'otherdescription'}]}我需要我生成的json是camelCase('cashFlows'而不是'cash_flows'

  9. ruby-on-rails - 从 ActiveAdmin has_many 表单助手中删除 "Add new"按钮 - 2

    我在事件管理员编辑页面中有嵌套资源,但我只想允许管理员编辑现有资源的内容,而不是添加新的嵌套资源。我的代码看起来像这样:formdo|f|f.inputsdof.input:authorf.input:contentf.has_many:commentsdo|comment_form|comment_form.input:contentcomment_form.input:_destroy,as::boolean,required:false,label:'Remove'endendf.actionsend但它在输入下添加了“添加新评论”按钮。我怎样才能禁用它,并只为主窗体保留f.ac

  10. ruby-on-rails - 用于 Rails 的 HAML 表单 - 2

    我目前正在尝试将ERB布局转换为HAML。这是我不断收到的错误:index.html.haml:18:syntaxerror,unexpected')'));}\n#{_hamlout.format_...这是HAML页面:.row-fluid.span6%h2TodoList.span6%h2{:style=>"text-align:right;"}document.write(today)%hr.divider.row-fluid.span6%h2.small_headNewTask=render:partial=>'layouts/form_errors',:locals=>{:

随机推荐