Для ограничения подсказок по текущему сайту внес такие изменения:
<?php
// Поиск товаров для автозаполнения
if (isset($_REQUEST['autocomplete']))
{
$result_json = array();
// Оригинальный запрос
$result_json['query'] = to_str($_REQUEST['query']);
$current_shop_id = CURRENT_SITE;
// Список подсказок
$result_json['suggestions'] = array();
$DataBase = & singleton('DataBase');
$shop_items_catalog_name = quote_smart($result_json['query']);
$result = $DataBase->select("SELECT * FROM `shop_items_catalog_table` WHERE `shop_items_catalog_name`
LIKE '%{$shop_items_catalog_name}%' AND `shop_shops_id` = '{$current_shop_id}' LIMIT 0, 20");
while ($row = mysql_fetch_assoc($result))
{
$result_json['suggestions'][] = $row['shop_items_catalog_name'];
}
$JsHttpRequest = new JsHttpRequest(SITE_CODING);
echo $JsHttpRequest->php2js($result_json);
exit();
}
?>
Также добавил автопереход по ссылке параметром onselect:
<script type="text/javascript">
$(function() {
$('#search').autocomplete({
serviceUrl: '/search/', // Страница для обработки запросов автозаполнения
minChars: 2, // Минимальная длина запроса для срабатывания автозаполнения
delimiter: /(,|;)\s*/, // Разделитель для нескольких запросов, символ или регулярное выражение
maxHeight: 500, // Максимальная высота списка подсказок, в пикселях
width: 300, // Ширина списка
zIndex: 9999, // z-index списка
deferRequestBy: 300, // Задержка запроса (мсек)
params: { autocomplete: '1'}, // Дополнительные параметры
onSelect: function(data, value) {window.location.href = "/search/?text=" + data;}}
);
});
</script>