/** * @param ContentListBase $app * @param ChannelBlockConfiguration $configuration */ private function addParamsConfiguration(ContentListBase &$app, ChannelBlockConfiguration $configuration) { $applicationLocalized = CacheApplicationTool::buildLocalizedApplicationByLocalizedId($configuration->attribute("application_localized_id")); if(!$applicationLocalized) { return; } // Add filter q if($configuration->attribute("q")) { $app->getResultHandler()->searchQuery = $configuration->attribute("q"); } // Add filter fq if($configuration->attribute("fq")) { $app->getResultHandler()->specialFilterChannel = $configuration->getSolrFq(); } else { $useDepth = $applicationLocalized->getCustomParameter('ShowParentArticleOnly'); if (!$useDepth) { $useDepth = $applicationLocalized->applicationObject()->getCustomParameter('ShowParentArticleOnly'); } if ($useDepth) { $app->getResultHandler()->specialFilterChannel = 'attr_relative_depth_i: 0'; } } // Sorting if($configuration->getChannelBlock()->attribute("sorting_method")) { $app->getResultHandler()->sortBy = $configuration->getChannelBlock()->attribute("sorting_method"); if($app->getResultHandler()->sortBy == ContentListSolrQueryHandler::SORT_RANDOM) { $app->getResultHandler()->randomSortId = "channel_".$configuration->attribute("id")."_random"; } } // Limit $app->getResultHandler()->limit = $this->getLimit($configuration->getChannelBlock()); }