Mar*_* K. 2 symfony sonata-admin
根据Sonata手册,我为一些实体创建了一个标准的简单管理员.问题是编辑enity时配置的过滤器会丢失.假设我设置了3个过滤器值,然后单击实体进行编辑."保存"和"返回列表"操作都不会将我带回已过滤的列表.甚至分页也从1开始.
如何保留设置过滤器?
这是一个示例管理类:
namespace AppBundle\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
/**
* Description of OrtAdmin
*
* @author markus
*/
class OrtAdmin extends AbstractAdmin{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name', 'text');
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('name');
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('name', 'string');
}
//Remove some export formats
public function getExportFormats() {
return array(
'csv', 'xls'
);
}
//No batch actions
public function getBatchActions() {
$actions = parent::getBatchActions();
unset($actions['delete']);
return $actions;
}
}
Run Code Online (Sandbox Code Playgroud)
离开列表视图后,您的过滤器会丢失.重新打开列表(不返回相同的URL)将始终生成预先配置的过滤器,您可以在每个Admin-class上定义这些过滤器.
只需为每个配置启用持久过滤器 请注意,这些内容会持续存在于用户的会话中,这意味着只有按下"重置过滤器"按钮才会重置或更改这些内容.
您可以轻松激活如下选项:
sonata_admin:
persist_filters: true
Run Code Online (Sandbox Code Playgroud)
没有专门的文档,但您可以在SonataAdmin完整配置选项中找到该选项.
| 归档时间: |
|
| 查看次数: |
1193 次 |
| 最近记录: |