swaroge/simple-text-filter-bundle

简单文本过滤器包

安装: 36

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master / 2.0.x-dev 2015-03-24 23:21 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:42:30 UTC


README

为Symfony 2实体提供简单的过滤器。

安装

composer

  • "require"部分
    "require": {
        "swaroge/simple-text-filter-bundle" : "dev-master"
    }
  • "repositories"部分
    "repositories" : [{
        "type" : "vcs",
        "url" : "https://github.com/swaroge/SimpleTextFilterBundle.git"
    }],
$ composer update
  • 在services.yml中添加服务
$ composer update

用法

  1. 创建过滤器的FormType
  2. 在实体中创建jsonSerializeFilter方法
  3. 控制器中的更改
  4. Twig示例

创建FormType

为过滤器表单创建新的表单类型

<?php
namespace My\TestBundle\Form;
/* ... */
class TestFormType 
{
/**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name')
    ;
}


}
/* ... */
/**
 * @return string
 */
public function getName()
{
    return 'my_testbundle_filter';
}

}

在实体中创建jsonSerializeFilter方法

别忘了

<?php
class EntityName implements \JsonSerializable

在类中创建公开方法

 <?php
public function jsonSerializeFilter() {
    /* fields used in form */
    return [
        'name'=>$this->getAddress(),
    ];
}

控制器中的更改

    <?php
    /*...*/
    public function indexAction(){
        $textSimpleFilter = new TextSimpleFilter();
        $form_filter = $this->get('form.factory')->create(new TestFilterType());
        $form_filter->handleRequest($this->get('request'));
    }
    
     $query = $textSimpleFilter->queryFilter($query,$form_filter->getData(),get_class(new Product()));