2010-09-22 104 views
3

前端過濾數據,你有一個工具,它允許你根據日期,位置,年齡(根據你的模型更多地過濾數據)Symfony:如何在symfony 1.4/Doctrine後端的後端

enter image description here

我在尋找一種方式做同樣的(有一些定製,如刪除某些字段),但在前端。我沒有找到任何有關如何做的文檔

你有什麼想法嗎?

回答

5

如果你想這樣做正好就像它在後端完成一樣,你可以在前端應用程序上使用管理生成器。更普遍和可定製的方式是簡單地創建列表和過濾器操作並使用Symfony的表單過濾器。下面是一個模型類「文章」一個基本的例子:

在動作類:

class articleActions extends sfActions 
{ 
    public function executeList(sfWebRequest $request) 
    { 
    $this->form = new ArticleFormFilter(); 
    $this->pager = new sfDoctrinePager('Article'); 
    } 

    public function executeFilter(sfWebRequest $request) 
    { 
    $this->form = new ArticleFormFilter(); 
    $this->form->bind($request[$this->form->getName()]); 
    if ($this->form->isValid()) 
    { 
     $this->pager = new sfDoctrinePager('Article'); 
     $this->pager->setQuery($this->form->getQuery()); 
     $this->setTemplate('list'); 
    } 
    //handle invalid form here 
    } 
} 

考慮,迭代拋尋呼機這樣的:

foreach($pager->getResults() as $article) 

主義FormFilter的相當類似,學說形式。通過在FormFilter :: configure()中配置表單開始入門。