2012-12-20 5 views
5

Hallo, ich habe Seite mit einer Tabelle mit einer Liste von Elementen (index.html.twig.). Ich verwende das KNP Paginator Bundle, um das Ergebnis zu paginieren. Jetzt möchte ich einige Filter auf dieser Seite implementieren, um das Tabellenergebnis zu filtern. Ich benutze AJAX, um dies zu tun, also erstelle ich eine andere Ansicht (grupos.html.twig) mit der Tabelle und dem Paginator, um das Ergebnis der Abfrage zu rendern. Hier ist der Controller-Code:Symfony 2.1 Ajax-Filter mit KNP Pagitor-Bundle

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')); 
} 
} 

aber dieser Code macht eine neue Seite, und ich möchte das Ergebnis zu übergeben index.html.twig ein Div zu machen.

Wie kann ich das tun?

Antwort

-1

wenn Sie nur eine Json Antwort benötigen, verwenden Sie den Code unten

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

return $response; 

wenn Sie aa Vorlage

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

Hoffnung, das half

0

einfach Ihre Ergebnisdaten anhängen machen müssen Ihr div

+0

vielleicht ein Codebeispiel hinzufügen? – i3arnon

Verwandte Themen