Вы уже приняли ответ (что, вероятно, является лучшим вариантом для вас), но есть несколько других способов сделать это.
IIRC, модуль Custom Search будет работать для того, что вы хотите.
Вы можете скопировать функцию stock hook_search
в пользовательский модуль и изменить запрос. Вы можете сделать что-то вроде этого:
// ...
case 'search':
// Build matching conditions
list($join1, $where1) = _db_rewrite_sql();
$arguments1 = array();
$conditions1 = 'n.status = 1';
// NEW BIT START
$allowed = array(
'content_type_1',
'content_type_2',
'content_type_3',
);
$types = array();
foreach ($allowed as $t) {
$types[] = "n.type = '%s'";
$arguments1[] = $t;
}
$conditions1 .= ' AND ('. implode(' OR ', $types) .')';
$keys = search_query_insert($keys, 'type');
// NEW BIT END
Это заменяет бит, который извлекает тип из фактической строки запроса.
Вы должны добавить бит для реструктуризации в n.uid
. В последнее время я использовал этот метод, а не пользовательский поиск, потому что он проще с точки зрения пользователя.
НТН