'Provider Title', // обов'язковий, назва модуля по якому шукається, відображається на сторінці пошуку * 'fullResultsAlias' => 'provider-alias', // обов'язковий, аліас по якому будуть відображатись повні результати пошуку * 'dataObjClass' => 'Provider\\Obj', // обов'язковий, об'єкт даних який віддасть список з результатом, переважно юзерський dataObj, в складних випадках робив окремий клас * 'shortResultsLimit' => 3, // опціональний, кількість результатів на короткому списку, по дефолту "3" * 'titleField' => 'title', // опціональний, колонка в результатах яка буде використовуватись в якості заголовку, по дефолту "title" * 'filterFields' => array('title', 'rawContent'), // опціональний, колонки по яких має відбуватись пошук, переписує значення в "dataObj" * 'sitemapSelector' => array(null, array('type' => 'Provider\\'), null), // опціональний, селектор для визначення урла який буде використовуватись в результатах пошуку * 'urlPattern' => '{sitemapUrl}/{id}' // опціональний, формат урла який буде використовуватись в результатах пошуку * ); */ $config['providers'][] = [ 'providerTitle' => 'Site Pages', 'fullResultsAlias' => 'cms', 'dataObjClass' => 'App_Cms_Search_Obj', 'titleField' => 'menuTitle', 'filterFields' => [ 'PageContent' => ['title', 'header', 'menuTitle'], 'HtmlBlockContent' => ['rawContent'], ], ]; $config['providers'][] = [ 'providerTitle' => 'News', 'fullResultsAlias' => 'news', 'dataObjClass' => 'App_News_Obj', 'filterFields' => ['title', 'introduction', 'rawContent'], 'sitemapSelector' => [null, ['type' => 'News_'], null], 'urlPattern' => '{sitemapUrl}/{alias}', ]; $config['providers'][] = [ 'providerTitle' => 'FAQ', 'fullResultsAlias' => 'faq', 'dataObjClass' => 'App_Faq_Search_Obj', 'titleField' => 'question', 'sitemapSelector' => [null, ['type' => 'Faq_'], null], ]; $config['providers'][] = [ 'providerTitle' => 'Newsletters', 'fullResultsAlias' => 'newsletters', 'dataObjClass' => 'App_Newsletter_Obj', ]; $config['providers'][] = [ 'providerTitle' => 'Gallery', 'fullResultsAlias' => 'gallery', 'dataObjClass' => 'App\\Gallery\\Search\\Obj', ]; $config['providers'][] = [ 'providerTitle' => 'Our Team', 'fullResultsAlias' => 'our-team', 'dataObjClass' => 'App_People_Obj', 'titleField' => 'name', 'filterFields' => ['name', 'jobTitle', 'shortBio', 'fullBioStripped'], 'sitemapSelector' => [null, ['type' => 'People_'], null], 'urlPattern' => '{sitemapUrl}/{alias}', ]; $config['providers'][] = [ 'providerTitle' => 'Testimonials', 'fullResultsAlias' => 'testimonial', 'dataObjClass' => 'App_Testimonial_Obj', 'titleField' => 'name', 'filterFields' => ['name', 'testimonial'], 'sitemapSelector' => [null, ['type' => 'Testimonial_'], null], 'urlPattern' => '{sitemapUrl}?page={page}', ]; $config['providers'][] = [ 'providerTitle' => 'Partner', 'fullResultsAlias' => 'partner', 'dataObjClass' => 'App_Partner_Obj', 'filterFields' => ['title', 'url'], 'sitemapSelector' => [null, ['type' => 'Partner_'], null], 'urlPattern' => '{sitemapUrl}?page={page}', ]; $config['providers'][] = [ 'providerTitle' => 'Product Categories', 'fullResultsAlias' => 'product-category', 'dataObjClass' => 'App_ECommerce_Product_Category_Search_Obj', 'filterFields' => ['title'], 'urlPattern' => '{url}', ]; $config['providers'][] = [ 'providerTitle' => 'Products', 'fullResultsAlias' => 'product', 'dataObjClass' => 'App_ECommerce_Product_Search_Obj', 'filterFields' => ['Product' => ['title', 'rawDescription']], 'sitemapSelector' => [null, ['type' => 'ECommerce_Product_'], ['forceAction' => 'view']], 'urlPattern' => '{sitemapUrl}/{alias}', ]; $config['providers'][] = [ 'providerTitle' => 'Blog Posts', 'fullResultsAlias' => 'blog', 'dataObjClass' => 'App\Blog\Search\Obj', ]; return $config;