2011-03-03 38 views
1

我還沒有找到一種方法來自定義哪些項目顯示在「列表」視圖。 更具體一點:默認情況下,數據庫表中的所有記錄都被選中並顯示,我希望能夠稍微調整數據庫選擇,以便僅從表中選擇一部分項目。symfony doctrine管理生成器 - >自定義列表

回答

5
config: 
    list: 
    table_method: getForAdminList 

然後,在相關模型表格類,你可以定義自己的條件來篩選記錄:

public function getForAdminList() 
    {   
    $q = $this->createQuery('a') 
     ->where('a.id > ?', 100); 
    return $q; 
    } 

請注意,您必須返回查詢,而不是記錄的集合。

0

通常情況下,您不會修改數據庫調用,而是會修改編輯generator.yml文件所顯示的內容。

的一部分,您應該感興趣的是

config: 
    list: 
    display: [fields, to, display] 
+0

我無法使用該部分,因爲我不想過濾字段但過濾顯示的記錄。 – Emerick 2011-03-03 13:56:04

+0

管理員過濾器怎麼樣?如果我想生成自定義文件環境表? – JackLeo 2011-04-06 11:13:06

0

在/ 後端 /modules/*module_name*/actions/action.class.php您可以覆蓋該模塊的默認管理方法(如在前端)。如果你想過濾所有querys可以覆蓋getFilters()方法,並添加默認PARAM這樣的:

class firmaActions extends autoFirmaActions 
{ 
    protected function getFilters(){ 
     $filters = parent::getFilters(); 
     $filters['level_id'] = '3'; 
     return $filters; 
    } 
} 

如果你想看看autoModuleActions的你可以找到它在緩存/ 後端 /模塊/ autoModule /動作