swaroge / simple-text-filter-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
用法
- 创建过滤器的FormType
- 在实体中创建jsonSerializeFilter方法
- 控制器中的更改
- 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()));