Class Search_Controller_Show
Поиск по сайту.
Доступные методы:
- query($query) поисковый запрос
- inner($inner) поиск по внутренним данным, например, Helpdesk. По умолчанию 0 - внешние данные, 1 - внутренние данные
- modules($modules) массив условий поиска по модулям
- itemsForbiddenTags(array('description')) массив тегов связанных элементов, запрещенных к передаче в генерируемый XML
- offset($offset) смещение, с которого выводить информационные элементы, по умолчанию 0
- limit($limit) количество выводимых элементов
- orderField($orderField) поле сортировки, по умолчанию 'weight'
- orderDirection($orderDirection) направление сортировки, по умолчанию 'DESC'
- log(TRUE|FALSE) активность журнала поисковых запросов. По умолчанию TRUE
$oSite = Core_Entity::factory('Site', CURRENT_SITE); $Search_Controller_Show = new Search_Controller_Show($oSite); $Search_Controller_Show ->limit(Core_Page::instance()->libParams['result_on_page']) ->parseUrl() ->len(Core_Page::instance()->libParams['maxlen']) ->query(Core_Array::getGet('text')); $Search_Controller_Show ->xsl( Core_Entity::factory('Xsl')->getByName(Core_Page::instance()->libParams['xsl']) ) ->show();
Массив условий поиска по модулям позволяет ограничить область поиска по модулям и типам индексируемого контента. Ключами массива являются номера модулей, а значениями — массив идентификаторов элементов. Номера модулей:
- 0 – Структура сайта;
- 1 – Информационные системы;
- 2 – Форум;
- 3 – Интернет-магазин;
- 4 – HelpDesk.
- 5 – Пользователи сайта.
- 6 – Страницы и документы.
- 7 – XSL-шаблоны.
- 8 – Tpl-шаблоны.
- 9 – Типовые динамические страницы.
Пример поиска по информационной системе с номером 5 и 7, а также по магазину с номером 17.
$Search_Controller_Show->modules( array( 1 => array (5, 7), 3 => array (17) ) );
Пример поиска по информационной системе с номером 5 и 7 (с дополнительным условием поиска только по информационным элементам), а также по магазину с номером 17.
$Search_Controller_Show->modules( array( 1 => array (5, array('module_id' => 7, 'module_value_type' => 2)), 3 => array (17)) );
При указании массива с дополнительными условиями он может принимать следующие аргументы:
- module_id — целое число, ID сущности, например, магазин с кодом 7
- module_value_type — целое число или массив, ID типа, например, 1 - группа, 2 - элемент (или товар)
- module_value_id — целое число или массив, ID сущности указанного типа (например, ID товара или группы) при поиске только по ним.
- Core_Servant_Properties
-
Core_Controller
-
Search_Controller_Show
Copyright: © 2005-2021 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru
Author: Hostmake LLC
Version: 6.x
Located at search/controller/show.php
Methods summary
public
|
|
protected
|
|
protected
|
|
public
|
|
protected
integer
|
|
public
|
|
public
|
Methods inherited from Core_Controller
__toString()
,
addCacheSignature()
,
addCacheTag()
,
addEntities()
,
addEntity()
,
append()
,
assign()
,
clearCacheTag()
,
clearEntities()
,
clearVars()
,
get()
,
getCacheTags()
,
getEntities()
,
getEntity()
,
getShownIDs()
,
getStdObject()
,
getTpl()
,
getXml()
,
getXsl()
,
mode()
,
setAttributePrefix()
,
setEntity()
,
tpl()
,
xsl()
Methods inherited from Core_Servant_Properties
__call()
,
__get()
,
__isset()
,
__set()
,
addAllowedProperties()
,
addAllowedProperty()
,
set()
,
setUnlimitedProperties()
Properties summary
protected
array
|
$_allowedProperties
Allowed object properties |
#
array(
'query',
'inner',
'len',
'offset',
'limit',
'page',
'total',
'modules',
'structure',
'pattern',
'patternExpressions',
'patternParams',
'cache',
'itemsForbiddenTags',
'orderField',
'orderDirection',
'log'
)
|
protected
array
|
$_config
Search config |
#
NULL
|
Properties inherited from Core_Controller
$_attributePrefix
,
$_cacheSignatures
,
$_cacheTags
,
$_entities
,
$_entity
,
$_mode
,
$_shownIDs
,
$_tpl
,
$_vars
,
$_xsl