Пример #1
0
            $ctx = !empty($resourceArray['context_key']) ? $resourceArray['context_key'] : $modx->context->get('key');
            $resourceArray['link'] = $modx->makeUrl($resourceArray['id'], $ctx);
        }
        if ($showExtract) {
            $extract = array_pop($search->searchArray);
            if (array_key_exists($extractSource, $resourceArray)) {
                $text = $resourceArray[$extractSource];
            } else {
                $text = $modx->runSnippet($extractSource, $resourceArray);
            }
            $extract = $search->createExtract($text, $extractLength, $extract, $extractEllipsis);
            /* cleanup extract */
            $extract = strip_tags(preg_replace("#\\<!--(.*?)--\\>#si", '', $extract));
            $extract = preg_replace("#\\[\\[(.*?)\\]\\]#si", '', $extract);
            $extract = str_replace(array('[[', ']]'), '', $extract);
            $resourceArray['extract'] = !empty($highlightResults) ? $search->addHighlighting($extract, $highlightClass, $highlightTag) : $extract;
        }
        $resultsTpl['default']['results'][] = $search->getChunk($tpl, $resourceArray);
        $idx++;
    }
}
/* load postHooks to get faceted results */
if (!empty($postHooks)) {
    $limit = !empty($facetLimit) ? $facetLimit : $perPage;
    $search->loadHooks('post');
    $search->postHooks->loadMultiple($postHooks, $response['results'], array('hooks' => $postHooks, 'search' => $searchString, 'offset' => !empty($_GET[$offsetIndex]) ? intval($_GET[$offsetIndex]) : 0, 'limit' => $limit, 'perPage' => $limit));
    if (!empty($search->postHooks->facets)) {
        foreach ($search->postHooks->facets as $facetKey => $facetResults) {
            if (empty($resultsTpl[$facetKey])) {
                $resultsTpl[$facetKey] = array();
                $resultsTpl[$facetKey]['total'] = $facetResults['total'];