I'm trying to paginate with Symfony2, KnpPaginator and Solarium. There is no error returned nor pagination shown. {{ pagination.getTotalItemCount }} return "2", instead of much more. Actually, it count the number of argument in "array($client,$select)".
Any idea ?
From the controller :
$my_query = 'manufacturer:'.$pays.' AND description:*inclus* AND terms:[* TO *]';
// Create new solarium instance
$client = $this->get('solarium.client');
$select = $client->createSelect();
//$select->setRows(15);
$select->setQuery($my_query);
$select->addSort('price', $select::SORT_ASC);
if (isset($start))
{
$select->setStart($start);
}
$resultsolr = $client->select($select);
$nb_result = $resultsolr->getNumFound();
// Nav facettes
$query = $client->createSelect();
$query->createFilterQuery('inclus')->setQuery('description:*inclus* AND terms:[* TO *]');
$facetSet = $query->getFacetSet();
$facetSet->createFacetField('pays')->setField('manufacturer')->setMincount(1);
$resultset = $client->select($query);
$facet = $resultset->getFacetSet()->getFacet('pays');
//Pagination
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(array($client,$select), $this->get('request')->query->get('page', 1)/*page number*/,
20/*limit per page*/);
return $this->render('TravelTravelBundle:Default:sejours_par_pays.html.twig',
array('resultsolr' => $resultsolr,
'pays' => $pays,
'facet' => $facet,
'nb_result' => $nb_result,
'pagination' => $pagination));
}
From the view :
<div class="count">
{{ pagination.getTotalItemCount }}
</div>
edit : I've found the answer (in French) : http://inside.inclusive.fr/2013/09/knppaginatorbundle-et-solarium/