【问题标题】:pagerfanta used in a form with a search. symfony2pagerfanta 用于带有搜索的表单。 symfony2
【发布时间】:2014-10-28 16:51:47
【问题描述】:

我希望 pagerfanta 渲染的分页链接与表单数据一起提交。 这是考虑在搜索表单中输入的数据。

一个简单的分页链接不允许我在我的搜索结果中导航。 有什么帮助吗?

控制器

/**
 * @Route("/{page}/", name="admin_user",requirements={"page" = "\d+"}, defaults={"page" = 1})
 * @Template()
 */
public function indexAction($page = 1)
{

    $data = [];
   $data['name'] = $this->getUser()->getName();
    $form = $this->createForm('admin_user_search_type', null);
    $request = $this->getRequest();

    if ($request->getMethod() == 'POST') {
        $form->bind($request);
        $data = array_merge($data, $form->getData());
    }

    return $this->render('AABundle:User:index.html.twig', array(
                'pager' => $this->getDoctrine()->getManager()->getRepoitory('AABundle:User')->search($data, 4, $page, $this->getUser()),
                'form' => $form->createView(),
    ));
}

view.html.twig

{% if pager.haveToPaginate %}
        {{ pagerfanta(pager, 'twitter_bootstrap3') }}
    {% endif %}

【问题讨论】:

  • 您可以将表单数据存储在Session中,测试是否存在,并将这些数据用作过滤器。
  • 解决方法是在提交表单时使用Get方法

标签: symfony pagerfanta


【解决方案1】:

解决办法是用Get方法而不是Post方法提交表单,这样就可以检索表单数据。而且我们不需要检查是否有效,因为它是一个搜索表单。

控制器如下图所示:

    **
 * @Route("/{page}/", name="admin_user",requirements={"page" = "\d+"}, defaults={"page" = 1})
 * @Template()
 */
public function indexAction($page = 1)
{

    $data = [];
   $data['name'] = $this->getUser()->getName();
    $form = $this->createForm('admin_user_search_type', null);
    $request = $this->getRequest();
        $form->bind($request);
        $data = array_merge($data, $form->getData());

    return $this->render('AABundle:User:index.html.twig', array(
                'pager' => $this->getDoctrine()->getManager()->getRepoitory('AABundle:User')->search($data, 4, $page, $this->getUser()),
                'form' => $form->createView(),
    ));
}

form.html.twig

<form name= "search" action="{{ path('admin_user') }}" novalidate method="get"{{ form_enctype(form) }}>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多