Перейти к контенту
  • 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

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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