conard сказал:Подскажите пожалуйста, как сделать с переключением, поиск по сайту и поиск по региону?
Я не понял на счет поиска по региону.
Переключение делается не сложно. Пример, как это реализовано у нас.
1) Добавляем на страницу радиокнопки:
<label><input type="radio" name="part" id="search_part_domain" value="domain" checked="checked" />общий</label>
<label><input type="radio" name="part" id="search_part_site" value="site" />по сайту</label>
<label><input type="radio" name="part" id="search_part_forum" value="forum" />по форуму</label>
2) В функцию Search_onsubmit() (файл search.js) добавляем отправку выбранной радиокнопки.
var part = 'domain';
if (document.getElementById('search_part_site').checked) {
part = 'site';
} else if (document.getElementById('search_part_forum').checked) {
part = 'forum';
}
// далее...
AjaxRequest('xml_case=search&query=' + encodeURIComponent(text.value) + '&part=' + part
+ '&page=' + page, 'Insert_Search');
3) Готовим массив в файле config.php. Теперь он имеет несколько более сложную структуру: domain - это поиск и по корневому домену и по всем поддоменам.
$aLocal['host'] = array(
'domain' => '(rhost:ru.php-myadmin | rhost:ru.php-myadmin.*)',
'site' => 'host:php-myadmin.ru',
'forum' => 'host:forum.php-myadmin.ru'
);
4) Редактируем файл request.php.
// Проверяем наличие переменной $_POST['part'].
if (isset($_POST['query'], $_POST['xml_case'], $_POST['part'])
&& strlen($_POST['query']) > 2 && $_POST['xml_case'] == 'search'
&& array_key_exists($_POST['part'], $aLocal['host'])) {
$aLocal['page'] = (isset($_POST['page']) && preg_match('/[1-9]\d{0,9}/', $_POST['page']))
? $_POST['page'] - 1 : 0;
$aLocal['query'] = $_POST['query'];
$sPost = '<?xml version="1.0" encoding="utf-8"?>' . "\n"
. '<request>' . "\n"
. '<query>' . htmlspecialchars($aLocal['query'])
. ' << ' . $aLocal['host'][$_POST['part']] . '</query>' . "\n"
. '<groupings>' . "\n"
. '<groupby attr="" mode="flat" groups-on-page="10" docs-in-group="1" />' . "\n"
. '</groupings>' . "\n"
. '<page>' . $aLocal['page'] . '</page>' . "\n"
. '</request>';
if ($sContents = L_cURL($sPost, $aLocal)) L_XML($sContents, $aLocal);
}