Когда-то давно я писал модуль поиска для PHP-Nuke 7.9.... На заказ... если найду его, выложу. Кому сильно надо, я думаю, смогут его под AS переделать....
PS модуль довольно сложен в настройке, но зато ищет везде, где хочешь...
Когда-то давно я писал модуль поиска для PHP-Nuke 7.9.... На заказ... если найду его, выложу. Кому сильно надо, я думаю, смогут его под AS переделать....
PS модуль довольно сложен в настройке, но зато ищет везде, где хочешь...
если не сложно - выложи =) дело в том, что стандартный походу ищет только в стандартных модулях системы. а крайне хотелось бы искать и в других модулях
Сообщение отредактировал Nicshit: Jul 6 2009, 01:10
Хорошо, вот поподробней: 1) и самое главное, нуна вручную в файле config_global.php править строчку (сбрасывается на стандарт каждый раз, когда сохраняете конфигурацию сайта из админки) $conf['search'] = "auto_links,faq,files,jokes,links,media,news,pages,shop"; 2) открываем modules/search/index.php сюда добавить названия модулей через запятую в том порядке, который в config_global.php $lang = array(_A_LINKS, _FAQ, _FILES, _JOKES, _LINKS, _MEDIA, _NEWS, _PAGES, _SHOP, "бла-бла-бла"); 3) самое интересное, правим вывод результата под нужный модуль. можно копировать любой из имеющихся и править его. А именно, нужно указать нужные таблицы и условия, например: $result = $db->sql_query("SELECT id, sitename, description, link, added FROM ".$prefix."_auto_links WHERE hits!='0' AND (sitename LIKE '%".$word."%' OR description LIKE '%".$word."%' OR link LIKE '%".$word."%') ORDER BY added DESC"); соответсвенно подправить list($id, $title, $description, $link, $date под свормированный запрос. ну а дальше подкорректировать полученный результат.
Вот для примера сделанный мною поиск для модуля flash games:
КОД
elseif ($val == "flash_games") { $result = $db->sql_query("SELECT p.gid, p.gtitle, p.date_added, p.gdesc, c.cid, c.title FROM ".$prefix."_arcade_games AS p LEFT JOIN ".$prefix."_arcade_cat AS c ON (p.cat_id=c.cid) WHERE (p.gtitle LIKE '%".$word."%' OR p.gdesc LIKE '%".$word."%') ORDER BY date_added DESC"); while (list($id, $title, $date, $hometext, $cid, $ctitle) = $db->sql_fetchrow($result)) { $atitle = "<a href=\"index.php?name=$val&op=play&gid=$id&word=".urlencode($word)."\" title=\"$title\">".search_color($title, $word)."</a>"; $description = $hometext; $aimg = "<span id=\"cont\"><img src=\"".img_find("all/plus")."\" border=\"0\" align=\"center\" alt=\""._READMORE."\" title=\""._READMORE."\" id=\"menu".$a."\" OnClick=\"SwitchMenu('sub".$a."')\" style=\"cursor:pointer;\"></span>"; $ahref = "<a href=\"index.php?name=$val&op=play&gid=$id&word=".urlencode($word)."\" target=\"_blank\" title=\""._WINDOWNEW."\"><img src=\"".img_find("all/content")."\" border=\"0\" align=\"center\" alt=\""._WINDOWNEW."\"></a>"; $text = "<div id=\"sub".$a."\" $display>".search_color(bb_decode($description, $val), $word)."</div>"; $tdate = ""._DATE.": ".format_time($date).""; $tmodul = ""._MODUL.": <a href=\"index.php?name=$val\" title=\"".$lang[10]."\">".$lang[10]."</a>"; $ctitle = (!$ctitle) ? ""._CATEGORY.": "._NO."" : ""._CATEGORY.": <a href=\"index.php?name=$val&op=cat&cid=$cid\" title=\"".$ctitle."\">".cutstr($ctitle, 15)."</a>"; $edit = (is_moder($val)) ? "".ad_edit("".$admin_file.".php?op=edit_games&gid=".$id."")."" : ""; $conts[] = array($id, $atitle, $aimg, $ahref, $edit, $text, $tdate, $tmodul, $ctitle, ""); $a++; } }
З.Ы.: без знания пхп тут делать нечего
Сообщение отредактировал Diego: Jul 9 2009, 08:07
Diego, Вас 1 раз(а) поблагодарили за это сообщение:
подскажите как исправить глюк в модуле Поиск на АС 4.3.1, ввожу слово в поиск, ищет и если находит на несколько страниц при переходе на следующую страницу выдаёт:
Запрашиваемая вами страница (или файл) не найдена! Возможные причины:
Вами был неверно набран адрес; Данная страница (или файл) была удалена или перемещена администрацией портала в другое место. Попробуйте воспользоваться главным меню или поиском по сайту... Желаем удачи!
Такое случается при включенном ЧПУ, т.к. ссылка на другие страницы поиска не попадает под стандартные правила, прописаные в htaccess. Если есть желание, можно помучаться и для модуля search написать своё правило, но я просто отключил ЧПУ для модуля search. Чтобы отключить ЧПУ для одного модуля нужно его удалить из масива в файле config_rewrite.php
Такое случается при включенном ЧПУ, т.к. ссылка на другие страницы поиска не попадает под стандартные правила, прописаные в htaccess. Если есть желание, можно помучаться и для модуля search написать своё правило, но я просто отключил ЧПУ для модуля search. Чтобы отключить ЧПУ для одного модуля нужно его удалить из масива в файле config_rewrite.php