Symfony:如何在前端过滤数据,如后端

时间:2010-09-22 00:36:49

标签: php symfony1 filtering frontend

在symfony 1.4 / Doctrine的后端,您有一个工具,可以根据日期,位置,年龄(以及根据您的模型更多)来过滤数据

enter image description here

我正在寻找一种方法来做同样的事情(通过一些自定义,例如删除一些字段),但在前端。我没有找到任何关于如何做的文件

你有什么想法吗?

1 个答案:

答案 0 :(得分:5)

如果您想要完成 ,就像在后端完成一样,您可以在前端应用程序上使用admin生成器。更通用和可自定义的方法是简单地创建列表和过滤器操作并使用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)

Doctrine FormFilter与Doctrine表格非常相似。通过在FormFilter :: configure();

中配置表单开始