2012-12-20 15 views
5

Witam, mam stronę z tabelą z listą elementów (index.html.twig.). Używam Pakietu Paginatora KNP do paginacji wyniku. Teraz chcę zaimplementować pewien rodzaj filtrów na tej stronie, aby filtrować wynik tabeli. Używam AJAX, aby to zrobić, więc tworzę inny widok (grupos.html.twig) z tabelą i wewnętrznym paginatorem, aby renderować wynik zapytania. Oto kod kontrolera:Filtr ajaxowy Symfony 2.1 z pakietem Paginator KNP

public function filtrarGrupoPorLetraAction(){ 
if ($this->getRequest()->isXmlHttpRequest()) { 
    $em = $this->getDoctrine()->getManager(); 
    $letra = $this->getRequest()->get('letra'); 
    $entities = $em->getRepository('GrupoBundle:Grupo')->filtrar($letra); 

    $paginator = $this->get('knp_paginator'); 
    $pagination = $paginator->paginate(
    $entities, 
    $this->get('request')->query->get('page', 1) /*page number*/, 
    25/*limit per page*/ 
    ); 

    return $this->render('GrupoBundle:Grupo:grupos.html.twig', compact('pagination')); 
} 
} 

ale ten kod czyni nową stronę i chcę przekazać wynik do index.html.twig renderować div.

Jak mogę to zrobić?

Odpowiedz

-1

jeśli wystarczy odpowiedzi json, należy użyć poniższy kod

// create a JSON-response with a 200 status code 
$response = new Response(json_encode($yourData)); 
$response->headers->set('Content-Type', 'application/json'); 

return $response; 

jeśli trzeba uczynić AA szablon

return $this->renderView('YourTemplateFile', $yourParams); 

nadzieję, że to pomogło

0

Wystarczy dołączyć swoje dane wynikowe do Twój div

+0

może dodać przykład kodu? – i3arnon