Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Поисковая подсказка

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Поисковая подсказка

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Поисковая подсказка.

Поисковая подсказка


Возможность вывода уникальной новости в поле поиска( так называемая "Поисковая подсказка")
Вариант №1 )
И так начнем, в файле index.php находим строчку:
echo $tpl->result['main'];

перед ней вставляем:
$searchHelp = $db->super_query("SELECT title FROM dle_post ORDER BY RAND() LIMIT 1");
$tpl->result['main'] = str_replace("{%search_post%}", 'Например : <a href="/index.php?do=search&subaction=search&story='.$searchHelp['title'].'">'.$searchHelp['title'].'</a>' , $tpl->result['main']);

После чего в любое место шаблона "main.tpl", вставляем тег {%search_post%}, обычно это помещается под полем поиска
Пример данного вывода будет следующим:
Например : Осуществление технической поддержки скрипта

Вариант №2 )
Или можно сразу в строку поиска вставить данный тег {%search_post%}, вместо бледной фразы: "Поиск..." или "Ищем ? пишем здесь" "Вы хотите что нибудь найти?" уже будет отображаться готовый вариант для поиска.

$searchHelp = $db->super_query("SELECT title FROM dle_post ORDER BY RAND() LIMIT 1");
$tpl->result['main'] = str_replace("{%search_post%}", $searchHelp['title'] , $tpl->result['main']);

В шаблоне main.tpl
найти:
<input type="text" name="story" id="mod-finder-searchword" class="lfield" size="25" value="Поиск..." />

заменить;
Поиск... на {%search_post%}

P.S. Вы можете выводить любую инфу которая вам нужна меня поля таблицы SELECT title FROM....
Спасибо за внимание)


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+13
Просмотры: 5 921 :: Комментарии (13) :: :: Нужна помощь? Задайте вопрос на форуме ::
Теги: поиск
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1E-BOYZ

  • 17 июня 2012 15:57
  • Регистрация: 18.02.2010
  • Был(а) онлайн: 5.07.2014
  • Комментариев: 191
  • +1
Хороший хак, молодец good

#2DarkneZ

  • 17 июня 2012 16:03
  • Регистрация: 13.10.2009
  • Был(а) онлайн: 18.10.2021
  • Комментариев: 120
  • +2
Зачтный хак!!! Очень удобный!

--------------------

#3Deftoner

  • 17 июня 2012 16:05
  • Регистрация: 8.05.2010
  • Был(а) онлайн: 25.09.2013
  • Комментариев: 65
  • +1
Спасибо! Пользуемся =)

#4BLIDED

  • 17 июня 2012 16:34
  • Регистрация: 6.10.2010
  • Был(а) онлайн: 13.03.2013
  • Комментариев: 95
  • +1
О дааааа... При каждой загрузке странице запрос, да ещё и с RAND(). Зачётный хак, ребята

#5Golian

  • 17 июня 2012 16:41
  • Регистрация: 13.02.2010
  • Был(а) онлайн: 2.11.2020
  • Комментариев: 40
  • 0
BLIDED,
Во первых: генерит мускул, по сравнению с PHP скорость на порядок выше.
Во вторых: Если мы так рассуждаем, то сгенерируй уникальную строку, допустим что у тебя есть ID с 1 до 100. Но при этом у тебя нет новостей по ID с 50 до 60, и если мы генерим случайный ID то он может выпасть на этот диапазон. И тогда поваляться ошибки
В третьих: Если ты глянешь код движка но не 1 раз а около 4 ORDER BY RAND()

--------------------

#6skk

  • 17 июня 2012 17:05
  • Регистрация: 24.12.2010
  • Был(а) онлайн: 20.06.2022
  • Комментариев: 164
  • 0
Во первых: генерит мускул, по сравнению с PHP скорость на порядок выше.

Простите, что ?!

#7-nGage-

  • 17 июня 2012 17:22
  • Регистрация: 28.11.2010
  • Был(а) онлайн: 11.09.2021
  • Комментариев: 248
  • 0
skk,
MySQL

--------------------

#8UnFeeLing

  • 17 июня 2012 17:31
  • Регистрация: 28.01.2010
  • Был(а) онлайн: 26.08.2013
  • Комментариев: 15
  • 0
дополнительный запрос SELECT к базе, зачем? Поиск на лету в DLE чем не устраивает?

#9-nGage-

  • 17 июня 2012 18:32
  • Регистрация: 28.11.2010
  • Был(а) онлайн: 11.09.2021
  • Комментариев: 248
  • 0
UnFeeLing,
Человек сделал что-то подобное как на filmix.net

--------------------

#10BLIDED

  • 17 июня 2012 20:05
  • Регистрация: 6.10.2010
  • Был(а) онлайн: 13.03.2013
  • Комментариев: 95
  • 0
Golian,
Ну и что генерит мускуль? Ты знаешь как работает ORDER BY RAND()? Почему нет кеширования? Есть разница, если на сайте 100 постов и 100к постов?

#11skk

  • 17 июня 2012 20:30
  • Регистрация: 24.12.2010
  • Был(а) онлайн: 20.06.2022
  • Комментариев: 164
  • +1
-nGage-, ясень .уй! Я, как программист, не могу понять логику его слов, что он имел ввиду ?

#12Sander

  • 17 июня 2012 21:18
  • Регистрация: 19.02.2010
  • Был(а) онлайн: 20.04.2021
  • Комментариев: 327
  • +2
skk, видимо он пытался сказать, что мускульная функция RAND() работает быстрее PHP-шной rand(1,10)

Задумка хорошая, но реализация критически ужасная.
Начиная с того, что при каждом обновлении страницы выполняется один из самых тяжелых запросов MYSQL. Заканчивая не экранированными кавычками в выводе.

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

Поставил минус именно за не продуманность и лень поискать более оптимизированный вариант (а он есть!).

--------------------

#13Golian

  • 18 июня 2012 18:47
  • Регистрация: 13.02.2010
  • Был(а) онлайн: 2.11.2020
  • Комментариев: 40
  • +1
Sander,
Спасибо подтолкнул меня на мысли, сегодня будет версия 2)
к следующей новости думаю будет уже + ))

--------------------

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: