MetaModels\BackendIntegration\SearchablePages::getMetaModelsPages PHP Метод

getMetaModelsPages() приватный Метод

Get a MetaModels, a filter and a renderSetting. Get all items based on the filter and build the jumpTo urls.
private getMetaModelsPages ( array $config, string | null $rootPage = null, string | null $language = null ) : void
$config array ID of the MetaModels.
$rootPage string | null The root page id or null if there is no root page.
$language string | null The current language.
Результат void
    private function getMetaModelsPages($config, $rootPage = null, $language = null)
    {
        $metaModelsIdentifier = $config['pid'];
        $filterIdentifier = $config['filter'];
        $presetParams = deserialize($config['filterparams'], true);
        $renderSettingId = $config['rendersetting'];
        // Get the MetaModels.
        $metaModels = $this->getMetaModel($metaModelsIdentifier, false);
        $availableLanguages = $this->getLanguage($language, $metaModels);
        $currentLanguage = $GLOBALS['TL_LANGUAGE'];
        // Get the view.
        $view = $this->getView($metaModelsIdentifier, $renderSettingId);
        $jumpTos = $view->get('jumpTo');
        // Set the filter.
        $processed = $this->setFilterParameters($filterIdentifier, $presetParams, array());
        // Create a new filter for the search.
        $filter = $metaModels->getEmptyFilter();
        $filterSetting = $this->getFilterSettings($filterIdentifier);
        $filterSetting->addRules($filter, $processed);
        // Get all jumpTos.
        $newEntries = $this->getJumpTosFor($availableLanguages, $metaModels, $filter, $view, $rootPage);
        // Remove all empty page details.
        $this->removeEmptyDetailPages($jumpTos);
        // Reset language.
        $GLOBALS['TL_LANGUAGE'] = $currentLanguage;
        // Merge all results.
        $this->foundPages = array_merge($this->foundPages, $newEntries);
    }