Я обычно копирую системный файл searchModel в /classes/modules/search/ext/searchModelCustom.php (в нем переименовываю класс searchModel на searchModelCustom), затем подключаю его в макросе поиска
public function search_doCustom($template = "default", $search_string = "", $search_types = "", $search_branches = "", $per_page = 0) {
// Код пропущен
searchModel::getInstance();
require_once CURRENT_WORKING_DIR. '/classes/modules/search/ext/searchModelCustom.php';
$result = searchModelCustom::getInstance()->runSearch($search_string, $search_types, $arr_search_by_rels, $orMode);
}
И дальше вношу все изменения в файл searchModelCustom.php
После обновления сравнить diff-ом два файла - дело одной минуты. Особенно, если есть IDE. На моей памяти функционал search_do кардинально не менялся последние два года.
Конкретно по этой задаче нужно убрать строчку 476 в файле с классом searchModelCustom:
s.domain_id = '{$domain_id}' AND
Возможно, после этого потребуется подправить код генерации ссылок (сложно сказать без боевого проекта).
Так что при выборе решения внимательно смотрите на цели и на то, какой результат вы ожидаете получать
Также не стоит забывать о сопутствующих факторах, как то:
- производительность решения
- сложность дальнейшей поддержки
- полнота решения задач клиента