Перейти к публикации

Расширенный поиск по сайту


Рекомендованные сообщения

а под ранюю версию есть... то исть v.4.1 ? :)

Нет и не будет.

Впрочем, любой может исправить, если есть желание.

Ссылка на сообщение
Поделиться на других сайтах

Благодаря внимательным юзерам на сайте, обнаружился маленький баг.

В файле search.php, где-то в начале, нужно исправить строки

$story = preg_replace("#^(\s*OR\s*)*#i", '', $story);

$story = preg_replace("#(\s*OR\s*)*$#i", '', $story);
на строки
$story = preg_replace("#^(\s*OR\s+)*#i", '', $story);

$story = preg_replace("#(\s+OR\s*)*$#i", '', $story);

Актуально для обеих версий, 4.2 и 4.3, а также для будущей 4.5 :) .

Ссылка на сообщение
Поделиться на других сайтах

А можно в архиве не измененные файлы, а именно описание какие были сделаны изменения в них? У меня 4.0 И многое уже сам переделал, а на новую версию из-за этих изменений переезжать неохота.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

хорошая вещь, но одно смутило: обычно пробел это логическое "или" (правда ранжирование работает), а юзера нельзя заставлять думать - расстроится и уйдет :). Можно ли как пробел превратить в "или", а вместо "or" прикрутить "and"? Или это муторно?

Ссылка на сообщение
Поделиться на других сайтах

Можно, но теперь поиск уже вошел в версию 4.5, так что вопрос - к хозяину DLE :) .

Ссылка на сообщение
Поделиться на других сайтах

ясно, еще один момент: "Показать результат №:" это что такое? Зачем надо не понял (думаю посетители тоже не поймут), пробовал убрать - кнопка поиска не работает :)

Ссылка на сообщение
Поделиться на других сайтах

ясно, еще один момент: "Показать результат №:" это что такое? Зачем надо не понял (думаю посетители тоже не поймут), пробовал убрать - кнопка поиска не работает :)

Это поле нужно, если поиск выдал, скажем, 567 результатов, а ты желаешь видеть результат №225 :) .

А кто не поймет, не будет использовать.

А вот убирать просто так не стоит, код заколдован :D .

Ссылка на сообщение
Поделиться на других сайтах

:) спс.

Думал "прокрутки страниц" вполне хватит, а учитывая что неизвестно что там под номером 225... желающих мало будет :). Но по сути не мешает :). еще раз спасибо.

Ссылка на сообщение
Поделиться на других сайтах

хорошая вещь, но одно смутило: обычно пробел это логическое "или" (правда ранжирование работает), а юзера нельзя заставлять думать - расстроится и уйдет . Можно ли как пробел превратить в "или", а вместо "or" прикрутить "and"? Или это муторно?

OR это убийственный запрос для MySQL (я имею ввиду что использование этого оператрора очень сильно нагружает базу данный) и займет очень много ресурсов, если будет введено например длинное предложение, поэтому лучше использовать т.к. есть, а вот при очень специфических запросах, можно и напречь немного сервер, но я не думаю что имеет смысл делать это для всех запросов подряд

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Назначение модуля: Добавляет возможность осуществлять расширенный поиск по сайту, поиск осуществляется по более чем 30 различным параметрам. Пример использования мода вы можете посмотреть на http://natahaus.ru/.

Версия движка: 4.2

Внимание: Данный мод находится сейчас на стадии тестирования и будет включен по умолчанию в дистрибутив версии 4.3. Поэтому используйте его на свой страх и риск.

Ссылка для скачивания: search.rar

Ещё бы по статическим страницам чтобы искало, было бы вообще супер

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
  • 2 недели спустя...

Подскажите, как отключить данный модуль в v 5.0, НО при этом оставив это:

- подсветка слов при поиске, для русских букв независит теперь от регистра
Ссылка на сообщение
Поделиться на других сайтах

Подскажите, как отключить данный модуль в v 5.0, НО при этом оставив это:

- подсветка слов при поиске, для русских букв независит теперь от регистра

ответ здесь:

http://forum.pc-soft.ru/index.php?showtopic=29267

Ссылка на сообщение
Поделиться на других сайтах

А как сделать чтобы по умолчанию он искал сразу везде (или хотя бы статике тоже) ? Очень надо

Ссылка на сообщение
Поделиться на других сайтах

А как сделать чтобы по умолчанию он искал сразу везде (или хотя бы статике тоже) ? Очень надо

По умолчанию искать в статьях и комментариях :

поменять строку

if (isset ($_REQUEST['titleonly'])) $titleonly = intval($_REQUEST['titleonly']); else $titleonly = 0;
на строку
if (isset ($_REQUEST['titleonly'])) $titleonly = intval($_REQUEST['titleonly']); else $titleonly = 2;
По умолчанию искать в статических страницах : поменять строку
if (isset ($_REQUEST['titleonly'])) $titleonly = intval($_REQUEST['titleonly']); else $titleonly = 0;
на строку
if (isset ($_REQUEST['titleonly'])) $titleonly = intval($_REQUEST['titleonly']); else $titleonly = 6;

Ссылка на сообщение
Поделиться на других сайтах

Akela, Спасибо за совет!

второй вариант вроде по умолчанию более-мение...

Но нужен поиск одновременно в статике и новостях (т.к. обычно контент сайта делят эти две части базы) - наверно для этого нужно много переделывать...

По сути это забота об удобстве поиска для простых посетителей сайта.

Ссылка на сообщение
Поделиться на других сайтах

Но нужен поиск одновременно в статике и новостях (т.к. обычно контент сайта делят эти две части базы) - наверно для этого нужно много переделывать...

По сути это забота об удобстве поиска для простых посетителей сайта.

Насколько мне известно, сделать поиск одновременно в статике и новостях довольно муторно. Впрочем желающие могут написать.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...

По просьбе некоторых пользователей, сделал "Упрощенный поиск" :) .

Итак, изменения выкладываю для версии 5.1, но вроде бы они подойдут и для предыдущих версий, начиная с 4.5, возможно с косметическими изменениями.

1. В файле website.lng вместо строки

's_fstart'			=>	"Начать поиск",
пишем строки
's_fstart'			=>	"Простой поиск",

's_ffullstart'			=>	"Расширенный поиск",
1. В файле search.php а) после строки
if (isset ($_REQUEST['catlist'])) $category_list = mysql_escape_string(implode(',', $_REQUEST['catlist'])); else $category_list = "";
пишем строку
$full_search = intval($_REQUEST['full_search']);
б) перед строкой
function confirmDelete(url){
пишем строки
function full_submit(prm){

	document.getElementById('fullsearch').full_search.value=prm;

	list_submit(-1);

}
в) после строки
<input type="hidden" name="search_start" id="search_start" value="$search_start">
пишем строки
<input type="hidden" name="full_search" id="full_search" value="$full_search">

HTML;


if ($full_search) {


$searchtable .= <<<HTML
г) вместо строк
				<td class="search">

					<div style="margin-top:6px">

						<input type="button" class="search" style="margin:0px 20px 0 0px" name="dosearch" id="dosearch" value="{$lang['s_fstart']}" onClick="list_submit(-1); return false;" />

						<input type="button" class="search" style="margin:0px 20px 0 20px" name="doclear" id="doclear" value="{$lang['s_fstop']}" onClick="java script:clearform('fullsearch'); return false;" />

						<input type="reset" class="search" style="margin:0px 20px 0 20px" name="doreset" id="doreset" value="{$lang['s_freset']}">

					</div>


				</td>

				</tr>


		</table>

	  </div>

	</td>

  </tr>

</table>
пишем строки
				<td class="search" colspan="2">

					<div style="margin-top:6px">

						<input type="button" class="search" style="margin:0px 20px 0 0px;" name="dosearch" id="dosearch" value="{$lang['s_ffullstart']}" onClick="java script:list_submit(-1); return false;" />

						<input type="button" class="search" style="margin:0px 20px 0 20px;" name="dofullsearch" id="dofullsearch" value="{$lang['s_fstart']}" onClick="java script:full_submit(0); return false;" />

						<input type="button" class="search" style="margin:0px 20px 0 20px;" name="doclear" id="doclear" value="{$lang['s_fstop']}" onClick="java script:clearform('fullsearch'); return false;" />

						<input type="reset" class="search" style="margin:0px 20px 0 20px;" name="doreset" id="doreset" value="{$lang['s_freset']}">

					</div>


				</td>

				</tr>


		</table>

	  </div>

	</td>

  </tr>

</table>

HTML;


} else {


$searchtable .= <<<HTML

<input type="hidden" name="result_from" id="result_from" value="$result_from">

<input type="hidden" name="result_num" id="result_num" value="$result_num">


<table cellpadding="4" cellspacing="0" width="100%">

  <tr>

	<td class="search">

	  <div style="margin:10px; text-align: center;">

				<input type="text" name="story" size="35" id="searchinput" value="$findstory" class="textin" style="width:350px" />

				<input type="button" class="search" style="margin:0px 20px 0 20px;" name="dosearch" id="dosearch" value="{$lang['s_fstart']}" onClick="java script:list_submit(-1); return false;" />

				<input type="button" class="search" style="margin:0px 20px 0 20px;" name="dofullsearch" id="dofullsearch" value="{$lang['s_ffullstart']}" onClick="java script:full_submit(1); return false;" />

			</div>


		</td>

	</tr>

</table>

HTML;


}


$searchtable .= <<<HTML

Ссылка на сообщение
Поделиться на других сайтах

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...