- В инструкции по установке мода «Topic Search» для файла search.php есть такие строки:
Но в файле search.php найдено три вхождения
Код: Выделить всё
# #-----[ FIND ]------------------------------------------ # $template->set_filenames(array( 'body' => 'search_results_posts.tpl') ); # #-----[ BEFORE, ADD ]------------------------------------------ # // Topic search MOD if(empty($tid)) { // End Topic search MOD
Вопрос: вышеозначенные изменения нужно проделать для всех вхождений, или только для самого первого?Код: Выделить всё
$template->set_filenames(array( 'body' => 'search_results_posts.tpl') );
- Какие аргументы используются в поиске, если нужно найти всю фразу целиком? Или в phpBB это невозможно?
- Где-нибудь можно найти инструкцию по использованию поиска в phpBB?
Вопросы по поисковым модам
-
- Former team member
- Сообщения: 702
- Стаж: 20 лет 6 месяцев
Вопросы по поисковым модам
Требуется консультация по установке мода «Topic Search» и ещё парочка вопросов, относящиеся к поиску.
Последний раз редактировалось Kastaneda 30.03.2005 16:29, всего редактировалось 1 раз.
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Инструкцию выполнять для самого первого вхождения.
Фразу целиком - например разделение слов при помощи ключевого слова AND.
Инструкцию - в оригинале на английском на сайте phpBB в разделе Support. Там есть подробное руководство по phpBB.
Я для себя форму в шаблоне вставил вставил следующим образом:
Самое главное здесь - избавление от ошибки несовместимости с формой быстрого ответа. Это было достигнуто изменением имени формы поиска с post на search.
Фразу целиком - например разделение слов при помощи ключевого слова AND.
Инструкцию - в оригинале на английском на сайте phpBB в разделе Support. Там есть подробное руководство по phpBB.
Я для себя форму в шаблоне вставил вставил следующим образом:
Код: Выделить всё
[open]
viewtopic_body.tpl
[find]
<td class="catHead" colspan="2" height="28"><span class="nav"><a href="{U_VIEW_OLDER_TOPIC}" class="nav">{L_VIEW_PREVIOUS_TOPIC}</a> :: <a href="{U_VIEW_NEWER_TOPIC}" class="nav">{L_VIEW_NEXT_TOPIC}</a> </span></td>
[replace with]
<form action="{U_TOPIC_SEARCH}" name="search" method="post" target="_top">
<td class="catHead" colspan="2" height="28">
<input type="hidden" name="search_terms" value="any" /><input type="hidden" name="return_chars" value="100" /><input type="hidden" name="show_results" value="posts" /><input type="hidden" name="sort_dir" value="ASC" /><input type="hidden" name="mode" value="topic_search" /><input type="hidden" name="topic_id" value="{TOPIC_ID}" /><input type="text" name="search_keywords" size="20" maxlength="250" value="" /> <input type="submit" name="search_submit" value="{L_SEARCH_TOPIC}" class="liteoption" />
</td>
</form>
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- Former team member
- Сообщения: 702
- Стаж: 20 лет 6 месяцев
Понял. А вообще, если при установке каких-либо модов в редактируемых файлах несколько раз встречаются одинаковые вхождения фраз, то нужно всегда производить указанные действия только с первым вхождением? Или это от ситуации зависит?Xpert писал(а):Инструкцию выполнять для самого первого вхождения.
К сожалению фраза целиком так и не находится.Xpert писал(а):Фразу целиком - например разделение слов при помощи ключевого слова AND.
А теперь разрешите задать небольшой вопрос по моду «Search Author Topic Starter»? В инструкции написано:
Код: Выделить всё
#-----[ FIND ]---------------------------------------------
# around line 475
FROM $from_sql
WHERE p.post_id IN (" . implode(", ", $search_ids) . ")
$where_sql
#
#-----[ REPLACE WITH ]------------------------------------------
# the middle line does not changed
FROM $from_sql $starter_from_sql
WHERE p.post_id IN (" . implode(", ", $search_ids) . ")
$where_sql $starter_where_sql
Код: Выделить всё
WHERE p.post_id IN (" . implode(", ", $search_id_chunks[$i]) . ")
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Если в коде мода явноесть указание заменить или произвести иные действия несколько раз, то несколько раз.Kastaneda писал(а):Или это от ситуации зависит?
Не следует.Kastaneda писал(а):Эту строку нужно изменить к тому виду, который указан в инструкции к моду? Или, как написано, не следует изменять эту строку.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- Former team member
- Сообщения: 702
- Стаж: 20 лет 6 месяцев
-
- phpBB 1.4.2
- Сообщения: 63
- Стаж: 20 лет 5 месяцев
Не нашел указанного хака, но нашел вот эти два:
http://www.phpbbhacks.com/download/859 (Search Topic Title Only)
http://www.phpbbhacks.com/download/2204 (Search Subject Only)
По сути своей они схожи, только вот по реализации как-то не очень...
Пожалуйста, подскажите, какой лучше
P.S. Собираюсь дополнить этот хак ф-цией фильтра прямо в форуме (как на Ру-Борд). Человек заходит в форум, вводит искомое слово, например "памагите", и ему выдаются только те топики, которые содержат это чудесное слово
http://www.phpbbhacks.com/download/859 (Search Topic Title Only)
http://www.phpbbhacks.com/download/2204 (Search Subject Only)
По сути своей они схожи, только вот по реализации как-то не очень...
Пожалуйста, подскажите, какой лучше

P.S. Собираюсь дополнить этот хак ф-цией фильтра прямо в форуме (как на Ру-Борд). Человек заходит в форум, вводит искомое слово, например "памагите", и ему выдаются только те топики, которые содержат это чудесное слово

-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 2.0.0
- Сообщения: 214
- Стаж: 20 лет 4 месяца
- Откуда: Москва
При установке мода Topic_Search обнаружена ошибка.
Вот фрагмент из мода:
Вот фрагмент из мода:
Первая строка - дублирование. По крайней мере у меня в форуме в lang_main.php почти в самом начале уже есть строка:Код: Выделить всё
# #-----[ OPEN ]------------------------------------------ # language/lang_english/lang_main.php # #-----[ FIND ]------------------------------------------ # // // That's all, Folks! // ------------------------------------------------- # #-----[ BEFORE, ADD ]------------------------------------------ # // TOPIC SEARCH MOD $lang['Click_return_topic'] = 'Click %sHere%s to return to the Topic'; $lang['No_search_words'] = 'Sorry, no search words specified'; $lang['Search_topic'] = 'Search Topic'; $lang['Jump_to_post'] = 'Jump to post'; // END TOPIC SEARCH MOD
Или в русском вариантеКод: Выделить всё
$lang['Click_return_topic'] = 'Click %sHere%s to return to the topic'; // %s's here are for uris, do not remove!
Если поставить мод в оригинальном виде, то после удаления постинга выводится почему-то вариант из мода Topic Search (я ожидал, что текст должен был бы просматриваться от начала к концу). Поэтому я закомментировал строку из мода:Код: Выделить всё
$lang['Click_return_topic'] = '%sВернуться в тему%s';
У меня стоит очень много модов, но думаю, что приведенная уже имеющаяся строка - из оригинального, немодифицированного lang_main.php, т. к. во-первых, она близко к началу файла, а во-вторых, удаление постинга админом, после которого выводится экран с этой строкой, имется и в оригинальном софте.Код: Выделить всё
// TOPIC SEARCH MOD //$lang['Click_return_topic'] = 'Click %sHere%s to return to the Topic'; $lang['No_search_words'] = 'Sorry, no search words specified'; $lang['Search_topic'] = 'Search Topic'; $lang['Jump_to_post'] = 'Jump to post'; // END TOPIC SEARCH MOD
Алексей aka ALER
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 19 лет 3 месяца
А в каком случае выводится данное сообщение???
Код: Выделить всё
$lang['No_search_words'] = 'Sorry, no search words specified';
Форум Гильдии U.S.S.R. игры Ragnarok:Online сервера raggame.ru/loki http://www.ussr-guild.h16.ru
-
- phpBB 1.4.3
- Сообщения: 97
- Стаж: 20 лет 3 месяца
Имею проблему с модом Search Title Only 1.0.0 (с аналогичным модом от Acyd Burn была такая же проблема)
Проблема заключается в том, что поиск странно реагирует на переименования топиков, точнее вообще не реагирует. Т.е. если у меня есть топик с заголовком "заголовок1", то он замечательно ищется, но если его переименовать в "заголовок2", как он по запросу "заголовок2" уже находиться не будет. Зато будет продолжать находиться по запросу "заголовок1". Т.е. складывается впечатление, что при переименовании топика поисковая таблица не обновляется. Что характерно, полная переиндексация поисковой базы результатов не даёт. Если кто еще пользуется этим модом - подтвердите или опровергните этот глюк. Ну а если кто расскажет куда смотреть, чтобы исправить - буду очень благодарен.
Проблема заключается в том, что поиск странно реагирует на переименования топиков, точнее вообще не реагирует. Т.е. если у меня есть топик с заголовком "заголовок1", то он замечательно ищется, но если его переименовать в "заголовок2", как он по запросу "заголовок2" уже находиться не будет. Зато будет продолжать находиться по запросу "заголовок1". Т.е. складывается впечатление, что при переименовании топика поисковая таблица не обновляется. Что характерно, полная переиндексация поисковой базы результатов не даёт. Если кто еще пользуется этим модом - подтвердите или опровергните этот глюк. Ну а если кто расскажет куда смотреть, чтобы исправить - буду очень благодарен.