kryptomania/extra-form-bundle

对 symfony 表单的一些增强:集合、javascripts、选择、依赖字段

安装: 134

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放问题: 0

语言:JavaScript

类型:symfony-bundle

v2.0.4 2019-04-25 14:38 UTC

README

此包提供增强一些 Symfony 原生表单控件(如 CollectionTypeChoiceType)的功能。

 

安装

步骤1:使用 composer 安装

运行以下 composer require 命令

$ composer require kryptomania/extra-form-bundle

 

步骤2:启用包

最后,在 kernel 中启用该包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Kryptomania\ExtraFormBundle\KryptomaniaExtraFormBundle(),
    );
}

步骤3:添加表单主题

在 config.yml 中

# app/config/config.yml

twig:
    form_themes:
        - 'KryptomaniaExtraFormBundle:Form:fields.html.twig'

步骤4:包含 JavaScript 文件

您需要在您的 base 模板文件中包含打包的 JavaScript 以供全局使用。您也可以只在需要使用的视图中包含它。

<!--  app/Resources/views/base.html.twig -->

    <!-- ExtraForm: CollectionType jQuery plugin -->
    <script src="{{ asset('bundles/kryptomaniaextraform/js/jquery.km.sfembedforms.js') }}"></script>

重要:这是一个 jQuery 插件,确保在包含之前包含 jQuery 文件。  

使用

对于基本使用,在您的视图中

    {#  ...  #}
    
    {{ form_row(form.myCollection) }}
    
    {#  ...  #}


    <script language="javacript">
        $(document).ready(function(){
            $("#{{ form.myCollection.vars.id}}").sfEmbedForms();
        });
    </script>

配置

'column_header_label' => true, // 当子表单以表格形式显示时,显示列标题。

'single_field_label' => false, // 显示表单每个字段的单独标签

'single_field_label_xs' => true, // 当分辨率在 xs 级别时(根据 Bootstrap 规范为 768px)显示单独的标签

'entry_css_class' => 'row', // 对于每个子表单,使用哪个类作为包装器

'entry_actions_css_class' => 'form-group text-right col-xs-12', // 对于每个项目的操作

'column_css_class' => array(), // 每个表单字段的 CSS 类(以表格形式显示)