'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'][] = array( 'providerTitle' => 'Site Pages', 'fullResultsAlias' => 'cms', 'dataObjClass' => 'App_Cms_Search_Obj', 'titleField' => 'menuTitle', 'filterFields' => array( 'PageContent' => array('title', 'header', 'menuTitle'), 'HtmlBlockContent' => array('rawContent') ) ); $config['providers'][] = array( 'providerTitle' => 'News', 'fullResultsAlias' => 'news', 'dataObjClass' => 'App_News_Obj', 'filterFields' => array('title', 'introduction', 'rawContent'), 'sitemapSelector' => array(null, array('type' => 'News_'), null), 'urlPattern' => '{sitemapUrl}/{id}' ); $config['providers'][] = array( 'providerTitle' => 'FAQ', 'fullResultsAlias' => 'faq', 'dataObjClass' => 'App_Faq_Search_Obj', 'titleField' => 'question', 'sitemapSelector' => array(null, array('type' => 'Faq_'), null), 'urlPattern' => '{sitemapUrl}/{categoryId}#n-{id}' ); $config['providers'][] = array( 'providerTitle' => 'Newsletters', 'fullResultsAlias' => 'newsletters', 'dataObjClass' => 'App_Newsletter_Obj', ); $config['providers'][] = array( 'providerTitle' => 'Gallery', 'fullResultsAlias' => 'gallery', 'dataObjClass' => 'App\\Gallery\\Search\\Obj', ); $config['providers'][] = array( 'providerTitle' => 'Our Team', 'fullResultsAlias' => 'our-team', 'dataObjClass' => 'App_People_Obj', 'titleField' => 'name', 'filterFields' => array('name', 'jobTitle', 'shortBio', 'fullBioStripped'), 'sitemapSelector' => array(null, array('type' => 'People_'), null), 'urlPattern' => '{sitemapUrl}/{id}' ); $config['providers'][] = array( 'providerTitle' => 'Testimonials', 'fullResultsAlias' => 'testimonial', 'dataObjClass' => 'App_Testimonial_Obj', 'titleField' => 'name', 'filterFields' => array('name', 'testimonial'), 'sitemapSelector' => array(null, array('type' => 'Testimonial_'), null), 'urlPattern' => '{sitemapUrl}?page={page}' ); $config['providers'][] = array( 'providerTitle' => 'Partner', 'fullResultsAlias' => 'partner', 'dataObjClass' => 'App_Partner_Obj', 'filterFields' => array('title', 'url'), 'sitemapSelector' => array(null, array('type' => 'Partner_'), null), 'urlPattern' => '{sitemapUrl}?page={page}' ); $config['providers'][] = array( 'providerTitle' => 'Product Categories', 'fullResultsAlias' => 'product-category', 'dataObjClass' => 'App_ECommerce_Product_Category_Search_Obj', 'filterFields' => array('title'), 'urlPattern' => '{url}' ); $config['providers'][] = array( 'providerTitle' => 'Products', 'fullResultsAlias' => 'product', 'dataObjClass' => 'App_ECommerce_Product_Search_Obj', 'filterFields' => array('Product' => array('title', 'rawDescription')), 'sitemapSelector' => array(null, array('type' => 'ECommerce_Product_'), array('forceAction' => 'view')), 'urlPattern' => '{sitemapUrl}/{alias}' ); $config['providers'][] = array( 'providerTitle' => 'Blog Posts', 'fullResultsAlias' => 'blog', 'dataObjClass' => 'App\Blog\Search\Obj', ); return $config;