Шаблон отвечает за генерацию полной поисковой формы и отображения результатов поиска.
Фактически этот шаблон - часть шаблона mail.tpl, но для удобства работы поисковая форма была вынесена в отдельный .tpl файл.
Шаблон должен содержать форму (тег
<form>, метод запроса -
GET или
POST), которая позволит вводить параметры поиска.
В форме поддерживаюся следующие переменные (для более детального описания см. шаблон search.table.tpl):
- search (тип: text) - Строка для поиска.
- author (тип: text) - Автор новости.
- search (тип: text) - Строка для поиска.
- catid (тип: select) - Выбор категории в которой необходимо искать (содержимое данной переменной формы генерируется в переменой ядра {catlist}.
- postdate (тип: select) - Выбор месяца в которой необходимо искать (содержимое списка месяцев в виде блока <option value="дата">дата</option> генерируется в переменной ядра {datelist}).
Блоки:
- [found] ... [/found] - Содержимое блока отображается в случае, если в результатах поиска найдена 1 или более новостей.
- [notfound] ... [/notfound] - Содержимое блока отображается в случае, если в результатах поиска не найдено ни одной новости.
- [error] ... [/error] - Содержимое блока отображается при незаполнении обязательного HTML поля search (строка для поиска).
Переменные:
- {form_url} - URL поисковой формы.
- {count} - Кол-во найденных в результатах поиска новостей (для блока [found] ... [/found]).
- {author} - Полученное значение переменной "author" (автор новости), введенное в форме поиска.
- {search} - Полученное значение переменной "search" (строка поиска), введенное в форме поиска.
- {catlist} - Блок, в который помещается HTML код для переменной catid из поисковой формы.
- {datelist} - Блок, в который помещается HTML код значений (option's) для переменной postdate из поисковой формы.
- {entries} - Отображаемые блоки с найденными новостями (для отображения новостей используется шаблон news.search.tpl, при его отсутствии - news.short.tpl).
Доступные языковые переменные:
- {l_search.filter.author} - Текст "Автор" (для переменной {author}).
- {l_search.filter.category} - Текст "Категория" (для переменной {catlist}).
- {l_search.filter.date} - Текст "Дата" (для переменной postdate).
- {l_search.submit} - Текст "Поиск" (для submit кнопки формы).
- {l_search.filter.date} - Текст "Дата" (для переменной postdate).
- {l_search.found} - Текст "Найдено новостей" (для блока [found] ... [/found]).
- {l_search.notfound} - Текст "Не найдено ни одной записи, удовлетворяющей вашему запросу" (для блока [notfound] ... [/notfound]).
- {l_search.notfound} - Текст "Возможно вы не задали слово для поиска, либо оно состоит из менее чем 3-х букв!" (для блока [error] ... [/error]).
В примере показан минимально набор для полнофункциональной работы:
<form name="full_search" action="{form_url}" method="GET">
{l_search.filter.author}: <input type="text" name="author" value="{author}" />
{l_search.filter.category}: {catlist}
{l_search.filter.date}: <select name="postdate"><option value=""></option>{datelist}</select>
<input type="submit" value="{l_search.submit}" />
</form>
[found]{l_search.found}: {count}[/found]
[notfound]{l_search.notfound}[/notfound]
[error]{l_search.error}[/error]
{entries}