Перейти к контенту
  • 0

Поиск в теме - как реализовать? И есть ли мод?


levinski

Вопрос

Доброго времени суток. Хотелось бы узнать. Существует ли мод для IPB 1.3, который позволяет сделать форму поиска внутри темы ? В представленных модах тут не нашел....

 

Очень нужна данная модификация..

 

Может она как-то иначе называется?

 

С уважением, Дмитрий

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

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

  • 0

lang_topic.php

Добавить в массив:

't_search' => "Точный поиск в этом топике",
't_search_no' => "Введите текст для поиска!",

 

 

В скин в желаемом месте (у меня в TableFooter) добавить:

	  <script type="text/javascript">
  var PS_content=0
  function ValidatePS(){
	if(PS_content==0){alert("{$ibforums->lang['t_search_no']}");return false;}
	else{return true}
  }
  </script>
  <form action="{$ibforums->base_url}" method="post" name='sForm' onsubmit='return ValidatePS()'>
  <input type="hidden" name="act" value="Search">
  <input type="hidden" name="CODE" value="searchintopic">
  <input type="hidden" name="tid" value="{$data[TOPIC]['tid']}">
	  <input type="text" name="namesearch" value="{$ibforums->lang['t_search']}" size="28" maxlength="28" onclick="java script:value=value.replace('{$ibforums->lang['t_search']}','');PS_content=1" onblur="java script:if(value==''){PS_content=0;value='{$ibforums->lang['t_search']}'}">
	<input type="submit" value=">>>">
  </form>

 

 

Search.php

Найти

			default:
			$this->show_form();
			break;

и добавить выше

			case 'searchintopic':
			$this->search_in_topic();
			break;

 

 

Найти

 	function get_last_ten()
	{

и добавить выше

	function search_in_topic()
{
	global $ibforums, $DB, $std, $print;

	$posts  = Array();
	$max_hits = 0;
	$DB->query("SELECT pid, post FROM ibf_posts WHERE topic_id = ".$ibforums->input['tid']);
	while ($row = $DB->fetch_row() )
	{
		if( stristr(strtolower(trim($row['post'])),strtolower($ibforums->input['namesearch'])) )
		{
			$posts[] = $row['pid'];
			$max_hits++;
		}
	}
	if(!count($posts))$std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_search_results' ) );
	$posts = implode(",",$posts);

	$unique_id = md5(uniqid(microtime(),1));

	$str = $DB->compile_db_insert_string( array (
													'id'		 => $unique_id,
													'search_date'=> time(),
													'post_id'	=> $posts,
													'post_max'   => $max_hits,
													'topic_id'	=> $ibforums->input['tid'],
													'member_id'  => $ibforums->member['id'],
													'ip_address' => $ibforums->input['IP_ADDRESS'],
										   )		);

	$DB->query("INSERT INTO ibf_search_results ({$str['FIELD_NAMES']}) VALUES ({$str['FIELD_VALUES']})");
	$print->redirect_screen( $ibforums->lang['search_redirect'] , "act=Search&nav=lv&CODE=show&searchid=$unique_id&search_in=posts&result_type=posts" );
	exit();
}

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

  • 0
Что-то не работает скрипт. Пишет все время "введите слово для поиска", хотя слово введено... Пробовал и длинные слова, и 2-3 слова, всегда эта ошибка появляется. Браузеры разные. В чем проблема может быть?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
"введите слово для поиска"

Нет такого текста ни в моем моде, ни в ленгах IPB 1.x.

Так все же с точностью до буквы, что пишет?

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

  • 0

Вы случайно не забыли, что здешнийй форум ломает слово "джаваскрипт", и его надо не копипастить, а вбить вручную?

И что помешало сразу написать, что сообщение джаваскриптовое?

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

  • 0
Вы случайно не забыли, что здешнийй форум ломает слово "джаваскрипт", и его надо не копипастить, а вбить вручную?

Не "забыл", а не знал :D

И что помешало сразу написать, что сообщение джаваскриптовое?
Ну я его процитировал, хоть и не точно, с ошибкой. Сорри, что морочу голову. Хотя и плюс есть, остальные будут знать, что слово поломано. Спасибо за подсказку, подправил слово, все заработало отлично! Еще раз спасибо!
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.