[ 'App\Search\View' => [ 'criticalStylesheets' => ['css/modules/search.css'], ], ], ]; $config['itemName'] = 'Search Results'; $config['itemsName'] = 'Search Results'; $config['shortResultsLimit'] = 3; // providers $config['providers'] = array(); /** * $config['providers'][] = array( * 'providerTitle' => '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), // опціональний, селектор для визначення урла який буде використовуватись в результатах пошуку * 'configOption' => array('type' => 'list') //опціональний, можна використовувати як параметер "$config" в "Qs_SiteMap::findFirst()" * 'templatePath' => 'Gallery' //опціональний, назва каталогу з темплатами (розташування "tpl\Search\Provider\") * '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}/{alias}' ); $config['providers'][] = array( 'providerTitle' => 'FAQ', 'fullResultsAlias' => 'faq', 'dataObjClass' => 'App_Faq_Search_Obj', 'titleField' => 'question', 'sitemapSelector' => array(null, array('type' => 'Faq_'), null), ); $config['providers'][] = array( 'providerTitle' => 'Newsletters', 'fullResultsAlias' => 'newsletters', 'dataObjClass' => 'App_Newsletter_Obj', ); $config['providers'][] = array( 'providerTitle' => 'Gallery', 'fullResultsAlias' => 'gallery', 'dataObjClass' => 'App\\Gallery\\Search\\Obj', 'configOption' => array('type' => 'list') ); $config['providers'][] = array( 'providerTitle' => 'Gallery', 'fullResultsAlias' => 'gallery-slider', 'templatePath' => 'Gallery', 'dataObjClass' => 'App\\Gallery\\Search\\Obj', 'configOption' => array('type' => 'slider') ); $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}/{alias}' ); $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;