2016-01-07 1 views
1

Я хотел бы знать, как добавить критерии в formFilter.Sylius, как переопределить критерии?

Например, в индексе внутреннего продукта. По умолчанию используется только «имя» и «ссылочный» фильтр. Я хотел бы добавить фильтр в любое поле.

enter image description here

мне удалось добавить пользовательское поле в форме, но при нажатии на кнопку фильтра, мой настраиваемое поле игнорируется.

Как я могу исправить это, пожалуйста?

ответ

0

Вам нужно будет продлить/заменить Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductRepository.php с помощью собственного ProductRepositoryClass. метод вам нужно изменить на линии 88: createFilterPaginator

<?php 
namespace Acme\AppBundle\Doctrine\ORM; 

use Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductRepository as BaseProductRepository; 

class ProductRepository extends BaseProductRepository { 

public function createFilterPaginator($criteria = array(), $sorting = array(), $deleted = false) 
    { 
    // ... your filtering logic here. 
    } 
} 

Затем зарегистрировать его в конфигурации *, поэтому он заменит хранилище sylius продукта.

sylius_product: 
    resources: 
     product: 
      classes: 
       repository: AppBundle\Entity\Product\ProductRepository 

Если вы хотите/необходимость вызова метода Diferent Тана в createFilterPaginator, вам придется переопределить контроллер.

 Смежные вопросы

  • Нет связанных вопросов^_^