Ich habe ein Problem, das meine Sortierung mit KnpPaginator funktioniert. Ich bin vielen Links gefolgt und habe viele Wiederholungen in meinem Code versucht, es scheint nicht richtig zu funktionieren. Ich vermisse etwas, aber kann es nicht finden Das einzige, was im Moment funktioniert, sind die Tabellenüberschriften, wo ich darauf klicken kann, aber nichts passiert, außer die Seite zu aktualisieren und mich wieder auf Seitenumbruch 1. Ich arbeite auf symfony 2.3Sortierung mit KnpPaginator
hier ist mein Bündel Konfiguration
knp_paginator:
page_range: 5 # default page range used in pagination control
default_options:
page_name: page # page query parameter name
sort_field_name: sort # sort field query parameter name
sort_direction_name: direction # sort direction query parameter name
distinct: true # ensure distinct results, useful when ORM queries are using GROUP BY statements
template:
pagination: 'KnpPaginatorBundle:Pagination:twitter_bootstrap_v3_pagination.html.twig' # sliding pagination controls template
sortable: 'KnpPaginatorBundle:Pagination:sortable_link.html.twig' # sort link template
hier mein Controller ist, wo ich Knp tatsächlich mit dem getRepository
private function resultsAction(Request $request, User $user, $type, $archive)
{
$em = $this->getDoctrine()->getManager();
$query = $em->getRepository("STUserBundle:Operation")->getQueryByTypeAndPro($type, $user, $archive);
$paginator = $this->get('knp_paginator');
$results = $paginator->paginate(
$query,
$request->query->getInt('page',1),
$request->query->getInt('limit',50)
);
return array("results" => $results, "archive" => $archive);
}
public function offreAction(Request $request, User $user, $archive = false)
{
return $this->resultsAction($request, $user, Operation::OFFRE_COMMERCIALE, $archive);
}
hier ist meine Repo, wo die Abfrage gemacht setted ist:
public function getQueryByTypeAndPro($type, User $user, $archive)
{
return $this->createQueryBuilder("opn")
->andWhere("opn.type = :type")
->setParameter("type", $type)
->andWhere("opn.resellerId = :reseller")
->setParameter("reseller", $user->getId())
->andWhere("opn.archive = :archive")
->setParameter('archive', $archive)
->orderBy("opn.dateCreation", "DESC")
->getQuery()
;
}
Und hier ist meiner Meinung nach, wo ich versuche, die Dinge funktionieren mit Knp
<tr>
<th>{{ knp_pagination_sortable(results, 'general.vehicule.ref'|trans, 'opn.type') }}</th>
<th>{{ knp_pagination_sortable(results, 'general.vehicule.vehicule'|trans, 'opn.resellerId') }}</th>
<th>{{ knp_pagination_sortable(results, 'notifications.client'|trans, 'opn.??') }}</th>
<th>{{ knp_pagination_sortable(results, 'general.date'|trans, 'opn.??') }}</th>
<th>{{ knp_pagination_sortable(results, 'commerce.achat.encours.etat'|trans, 'opn.??') }}</th>
</tr>
Und in meinem Tisch, wenn ich darauf klicke aktualisieren Sie die Seite aber nicht sortieren. Es fällt mir schwer zu verstehen, wie ich diese Arbeit machen kann?
Ort, wo ich 'opn.??'
geputtet sein, weil ich nicht weiß, was an dieser bestimmten Stelle zu setzen, ich scheine nicht die Abfrage
zu verstehen, ich der letzte datierte Artikel möchte die ersten sein, aber in der Lage sein, es mit Knp
Vielen Dank für Ihre Klarheit. Ich habe herausgefunden, wie die Übersetzung mit Ihren Links funktioniert. Aber das Löschen von '-> orderBy (" opn.dateCreation "," DESC ")' macht das nicht –
setzen Sie Ihre Konfiguration des Bundles hier und schauen Sie sich diesen Beitrag https://stackoverflow.com/questions/27193249/symfony2-how -can-i-pass-parameter-sort-and-direction-using-knppaginatorbundle hoffe dir helfen –
Danke für deine Hilfe, aber ich denke, ich habe ein anderes Problem von diesem Beitrag. Sorry kann nicht wirklich verstehen, was ich bis jetzt tun soll, ich werde versuchen, einen neuen Post zu machen. –