Генератор CSS-свойства «border-radius»
Артем Мáлков
624 просм
9 комм
Поделиться

Поиск по определенным категориям DLE

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

Расскажу, как быстро и просто решить эту проблему и расширить функционал стандартного поиска в Dle.

Поиск по определенным категориям

Стандартная форма поиска в DataLife Engine выглядит следующим образом:

<form action="" name="searchform" method="post">
<input type="hidden" name="do" value="search" />
<input type="hidden" name="subaction" value="search" />
<input id="story" name="story" value="" type="text" />
<input title="Найти" alt="Найти" type="image" src="{THEME}/images/spacer.gif" />
</form>

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

Между тегами <form></form> после

<input type="hidden" name="do" value="search" />

вставьте

<input type="hidden" name="catlist[]" value="7" />

Если вы хотите определить несколько категорий, по которым будет осуществляться поиск, то вставьте этот код несколько раз и замените в нем value="7" на нужные вам категории, например:

<input type="hidden" name="catlist[]" value="7" />
<input type="hidden" name="catlist[]" value="10" />
<input type="hidden" name="catlist[]" value="11" />
<input type="hidden" name="catlist[]" value="15" />

Выбор нужной категории для поиска

Если же вы хотите предоставить пользователям выбор, в какой категории нужно выполнить поиск, то воспользуйтесь следующим кодом, который также нужно вставить между <form></form>

<select name="catlist[]">
<option value="7">Комедии</option>
<option value="10">Приключения</option>
<option value="15">Отечественные</option>
</select>

Здесь вы тоже можете добавить нужные вам категории и их количество.

9
комментарий
Dart Mystic
3.02 в 19:40
На сайте десятки полезностей и странно что нет кнопки благодарности "Спасибо" Ведь некоторым в лом написать пару слов.
И к слову, у вас нету такого скрипта для DLE во времена когда я искал его нормальна работающего или вообще работающего не было.
  • 2
Спасибо вам за комментарии. По поводу кнопки - все будет, но всему свое время. Т.к очень много идей, как по этому проекту, так и по материалам, которыми хочется поделиться с читателями. Но, время не на нашей стороне - и приходиться расставлять приоритеты.
  • 1
Александр
27.02 в 19:55
Здравствуйте. Проделал все как Вы описали, но в быстром поиске почему-то не работает.
Ни <input type="hidden" name="catlist[]" value="" />, ни <select name="catlist[]"></select>
Все равно ищет во всех категориях
  • 1
Александр, этот вариант работает только с обычным поиском - но по возможности, мы постараемся написать руководство для быстрого поиска.
  • 0
Александр
27.02 в 21:53
Буду очень Вам благодарен. Вещь хорошая и нужная.
  • 0
Александр
22.03 в 19:42
А когда будет статья для быстрого поиска?
  • 0
Олег
21.07 в 13:57
Здравствуйте.
Очень полезный хак и спасибо за работу, но у меня (11.3) поиск осуществляется только во всех категориях.
Если категория выбрана, то ничего не находит.

[code]
<form action="" name="searchform" method="post">
<div class="form-group">
<input type="hidden" name="do" value="search">
<input type="hidden" name="subaction" value="search">
<input type="text" id="story" name="story" class="form-control" placeholder="Ключевое слово" />
</div>
<div class="form-group">
<input type="text" id="search_location" class="form-control" name="search_location" placeholder="Ваша локация" />
</div>
<div class="form-group">
<div class="select-style">
<select name="catlist[]" class='form-control' >
<option value='0' selected='selected'>Выыбор категории</option>
<option class="level-7" value="7">Кошки</option>
<option class="level-8" value="8">Собаки</option>
<option class="level-10" value="10">Птички</option>
<option class="level-11" value="11">Рыбки</option>
<option class="level-12" value="12">Грызуны</option>
<option class="level-13" value="13">Другие питомцы</option>
<option class="level-14" value="14">Сопутствующие товары</option>
</select>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Поиск</button>
</div>
</form>
[/code]
  • 1
Олег, Здравствуйте! Пришлите пожалуйста сайт, где установлена эта форма - проверю корректность работы.
  • 0
Олег
22.07 в 15:18
Спасибо большое!!!
Это я сам ступил :) Все работает на ура!
Возможно подскажите, как добавить в форму поиск по дополнительному полю город? :)
Чтобы поиск фильтровался по категории и одному доп полю :)
  • 0
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария