* @author Timo Hund */ class PageBrowserRangeViewHelper extends AbstractSolrFrontendViewHelper { use CompileWithRenderStatic; /** * Initializes the arguments */ public function initializeArguments() { parent::initializeArguments(); $this->registerArgument('from', 'string', 'from', false, 'from'); $this->registerArgument('to', 'string', 'to', false, 'to'); $this->registerArgument('total', 'string', 'total', false, 'total'); } /** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $from = $arguments['from']; $to = $arguments['to']; $total = $arguments['total']; $resultSet = self::getUsedSearchResultSetFromRenderingContext($renderingContext); $search = $resultSet->getUsedSearch(); $variableProvider = $renderingContext->getVariableProvider(); $numberOfResultsOnPage = $resultSet->getSearchResults()->getCount(); $numberOfAllResults = $resultSet->getAllResultCount(); $resultsFrom = $search->getResponseBody()->start + 1; $resultsTo = $resultsFrom + $numberOfResultsOnPage - 1; $variableProvider->add($from, $resultsFrom); $variableProvider->add($to, $resultsTo); $variableProvider->add($total, $numberOfAllResults); $content = $renderChildrenClosure(); $variableProvider->remove($from); $variableProvider->remove($to); $variableProvider->remove($total); return $content; } }