• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/search/searchaction.php
  • Класс: BitrixMainSearchSearchAction
  • Вызов: SearchAction::run
public function run($searchQuery, array $options = null, PageNavigation $pageNavigation = null)
{
	$searchQuery = $this->prepareSearchQuery($searchQuery);
	if (!$searchQuery)
	{
		return [
			'items' => [],
			'limits' => [],
		];
	}

	$resultItems = $this->provideData($searchQuery, $options, $pageNavigation);
	if (!is_array($resultItems) && !($resultItems instanceof Traversable))
	{
		throw new ArgumentTypeException('The method ::provideData() has to return iterable data');
	}

	foreach ($resultItems as $item)
	{
		$this->adjustResultItem($item);
	}

	$limits = $this->provideLimits($searchQuery, $options);
	if (!is_array($limits) && !($limits instanceof Traversable))
	{
		throw new ArgumentTypeException('The method ::provideLimits() has to return iterable data');
	}

	return [
		'items' => $resultItems,
		'limits' => $limits,
	];
}