2013-09-26 3 views
0

По умолчанию в SonataNewsBundle CommentAdmin является:SonataNewsBundle - комментарии - добавить статус фильтры

protected function configureDatagridFilters(DatagridMapper $datagridMapper) 
{ 
    $datagridMapper 
     ->add('name') 
     ->add('email') 
     ->add('message') 
    ; 
} 

В защищенных функций configureFormFields (FormMapper $ formMapper) является:

protected function configureFormFields(FormMapper $formMapper) 
    { 
     if (!$this->isChild()) { 
      $formMapper->add('post', 'sonata_type_model_list'); 
//   $formMapper->add('post', 'sonata_type_admin', array(), array('edit' => 'inline')); 
     } 

     $commentClass = $this->commentManager->getClass(); 

     $formMapper 
      ->add('name') 
      ->add('email') 
      ->add('url', null, array('required' => false)) 
      ->add('message') 
      ->add('status', 'choice', array('choices' => $commentClass::getStatusList(), 'expanded' => true, 'multiple' => false)) 
     ; 
    } 

Я пытаюсь добавить к фильтрам:

->add('status', null, array('label' => 'Status'), null, array('expanded' => true, 'multiple' => true)) 

но этот throw exceptio п:

The options "expanded", "multiple" do not exist. 

Я попытался также: -> добавить ('статус', '', doctrine_orm_callback массив (

  'callback' => function($queryBuilder, $alias, $field, $value) { 
       if (!$value) { 
        return; 
       } 

       $queryBuilder->andWhere($alias . '.status = :status'); 
       $queryBuilder->setParameter('status', $value); 

       return true; 
      }, 
      'field_type' => 'choice' 
     )) 

Это теперь показывают ошибку, но выбрать пуст. Как я могу добавить для этого статуса списка? Я получаю примеры от documentation

Возможно, это лучший способ для этого?

ответ

0

У вас неправильный порядок параметров, заданный вызовом метода add(). Попробуйте следующее:

$filters->add('status', null, array(), 'choice', array('choices' => $commentClass::getStatusList(), 'expanded' => true, 'multiple' => false)) 

Параметры формы были установлены на 5-м параметром.

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