簡體   English   中英

Sonata Admin Bundle在編輯時失去過濾器設置

[英]Sonata Admin Bundle loosing filter settings on edit

根據奏鳴曲手冊,我為某些實體創建了一個標准的簡單管理員。 問題在於,編輯實體時配置的過濾器會丟失。 假設我設置了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;
}    
}

離開列表視圖后,您的過濾器會丟失。 重新打開列表(不返回相同的URL)將始終生成您預先配置的過濾器,您可以在每個管理員級別上定義這些過濾器。

只需為每個配置啟用持久性過濾器。 請注意,這些內容將保留在您用戶的會話中,這意味着它們只有在您按下“重置過濾器”按鈕后才會重置或更改。

您可以輕松激活以下選項:

sonata_admin:
    persist_filters: true

沒有專門的文檔,但是您可以在SonataAdmin完整配置選項中找到該選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM