grossum/extended-form-type

扩展表单类型包

v0.1.2 2018-04-13 14:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:26:42 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

安装

步骤 1:下载 Bundle

打开命令控制台,进入您的项目目录,并执行以下命令以下载此 Bundle 的最新稳定版本

$ composer require grossum/extended-form-type

此命令需要您全局安装 Composer,具体请参阅 Composer 文档中的安装章节

步骤 2:启用 Bundle

然后,在您的项目 app/AppKernel.php 文件中添加以下行以启用 Bundle

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new Grossum\ExtendedFormTypeBundle\GrossumExtendedFormTypeBundle(),
        );

        // ...
    }

    // ...
}

步骤 3:配置 Bundle

在您的项目中添加路由到 app/config/routing.yml

// app/config/routing.yml

# Routing Configuration Example

grossum_extended_form_type:
    resource: "@GrossumExtendedFormTypeBundle/Resources/config/routing.yml"
    prefix:   /

app/config/config.yml 中注册 twig 表单模板

// app/config/config.yml

# Twig Configuration Example

twig:
    // ...
    form:
        resources:
            // ...
            - 'GrossumExtendedFormTypeBundle::dependent_filtered_entity.html.twig'

app/config/config.yml 中启用 Bundle 对您的实体

// app/config/config.yml

# Entity Configuration Example

grossum_extended_form_type:
    dependent_filtered_entities:
        test_type:
            class: Your\Bundle\Entity\EntityName
            parent_property: test 
            property: name
            no_result_msg: 'No type found'
            order_property: name 
            order_direction: ASC

步骤 4:使用方法

<?php

// ...

class TestAdmin extends Admin
{

    /**
     * Fields to be shown on create/edit forms
     *
     * @param FormMapper $formMapper
     */
    protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper
            
            // ...
            
            ->add(
                'yourType',
                'grossum_dependent_filtered_entity',
                [
                    'entity_alias' => 'your_alias',
                    'empty_value'  => 'Select some value',
                    'parent_field' => 'test',
                    'label'        => 'Your label',
                ]
            )
            
            // ...
           
            ->end();
    }
    
     // ...
    
}