Пример #1
0
foreach ($resultsTpl as $facetKey => $facetResults) {
    $resultSet = implode($outputSeparator, $facetResults['results']);
    $placeholders[$facetKey . '.results'] = $resultSet;
    $placeholders[$facetKey . '.total'] = !empty($facetResults['total']) ? $facetResults['total'] : 0;
    $placeholders[$facetKey . '.key'] = $facetKey;
}
$placeholders['results'] = $placeholders[$activeFacet . '.results'];
/* set active facet results */
$placeholders['total'] = !empty($resultsTpl[$activeFacet]['total']) ? $resultsTpl[$activeFacet]['total'] : 0;
$placeholders['page'] = isset($_REQUEST[$offsetIndex]) ? ceil(intval($_REQUEST[$offsetIndex]) / $perPage) + 1 : 1;
$placeholders['pageCount'] = !empty($resultsTpl[$activeFacet]['total']) ? ceil($resultsTpl[$activeFacet]['total'] / $perPage) : 1;
if (!empty($response['results'])) {
    /* add results found message */
    $placeholders['resultInfo'] = $modx->lexicon('sisea.results_found', array('count' => $placeholders['total'], 'text' => !empty($highlightResults) ? $search->addHighlighting($searchString, $highlightClass, $highlightTag) : $searchString));
    /* if perPage set to >0, add paging */
    if ($perPage > 0) {
        $placeholders['paging'] = $search->getPagination($searchString, $perPage, $pagingSeparator, $placeholders['total']);
    }
}
$placeholders['query'] = $searchString;
$placeholders['facet'] = $activeFacet;
/* output */
$modx->setPlaceholder($placeholderPrefix . 'query', $searchString);
$modx->setPlaceholder($placeholderPrefix . 'count', $response['total']);
$modx->setPlaceholders($placeholders, $placeholderPrefix);
if (empty($response['results'])) {
    $output = $search->getChunk($noResultsTpl, array('query' => $searchString));
} else {
    $output = $search->getChunk($containerTpl, $placeholders);
}
return $search->output($output, $toPlaceholder);