prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Всё для вебмастера » Всё для DataLife Engine » DLE хаки » Поисковая подсказка

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


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


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


Возможность вывода уникальной новости в поле поиска( так называемая "Поисковая подсказка")
Вариант №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....
Спасибо за внимание)


+14
Просмотры: 3444 VIP ProWebber | Комментарии (13)
Теги: поиск
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1E-BOYZ

  • 17 июня 2012 15:57
  • Регистрация: 18.02.2010
  • ICQ: 367612955
  • Комментариев: 191
  • Выкл.
Хороший хак, молодец good

+1

#2DarkneZ

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

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

+2

#3Deftoner

  • 17 июня 2012 16:05
  • Регистрация: 8.05.2010
  • ICQ: 7000874
  • Комментариев: 65
Спасибо! Пользуемся =)

+1

#4BLIDED

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

+1

#5Golian

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

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

0

#6skk

  • 17 июня 2012 17:05
  • Регистрация: 24.12.2010
  • ICQ: Пиши в ЛС, скину
  • Комментариев: 161
Во первых: генерит мускул, по сравнению с PHP скорость на порядок выше.

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

0

#7-nGage-

  • 17 июня 2012 17:22
  • Регистрация: 28.11.2010
  • ICQ: 406778608
  • Комментариев: 246
skk,
MySQL

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

0

#8UnFeeLing

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

0

#9-nGage-

  • 17 июня 2012 18:32
  • Регистрация: 28.11.2010
  • ICQ: 406778608
  • Комментариев: 246
UnFeeLing,
Человек сделал что-то подобное как на filmix.net

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

0

#10BLIDED

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

0

#11skk

  • 17 июня 2012 20:30
  • Регистрация: 24.12.2010
  • ICQ: Пиши в ЛС, скину
  • Комментариев: 161
-nGage-, ясень .уй! Я, как программист, не могу понять логику его слов, что он имел ввиду ?

+1

#12Sander

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

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

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

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

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

+2

#13Golian

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

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

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

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Ноябрь 2016 (7)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)
Июль 2016 (14)
Июнь 2016 (17)

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

Искать людей

Ваши переписки