Інтерфейс пошуку
Для того, щоб відобразити форму пошуку, вам потрібно тільки вставити наступний тег:
#FORMULAIRE_RECHERCHE
За замовчуванням, форма посилає запити на сторінку spip.php?page=recherche
, отже вам необхідно створити файл шаблону recherche.html
[1], аби відображати результати.
За своїм бажанням ви можете використовувати іншу сторінку результатів, для цього треба використовувати тег наступного альтернативного синтаксису:
#FORMULAIRE_RECHERCHE{#URL_PAGE{xxx}}
де xxx
- це сторінка, на яку ви хотіли б направити відвідувача сайту, а xxx.html - це відповідний шаблон цієї сторінки.
Файл шаблону результатів
Петлі, використовувані для відображення результатів пошуку, добре описані в документації (але, на жаль, ще без перекладу): La boucle ARTICLES, La boucle RUBRIQUES, La boucle BREVES і La boucle FORUMS. Ви насправді може запускати пошук не тільки в статтях, але також у рубриках, серед новин та у змісті форуму.
- Єдина різниця в порівнянні з тим, що описано в розділі Створюємо перший шаблон, це вибір критеріїв відбору, які повинні бути {recherche}
. Інші критерії відображення і теги, що використовуються всередині циклів, залишаються незмінними.
- Тим не менш, для того, щоб ранжувати результати по їх релевантності для критеріїв пошуку, рекомендується використовувати нові критерії відображення: {par points}
. Результати зазвичай відображаються в порядку зменшення їхньої ваги ({par points}{inverse}
), тобто найбільш релевантні йдуть першими.
- А також тег #POINTS
, який відображає релевантність результатів.
- Введений в [SPIP 1.5.1] тег #RECHERCHE
відображає запит, сформульований відвідувачем сайту .
Приклад завершеного циклу:
<h1><:resultats_recherche:>[ (#RECHERCHE)]</h1>
<B_articles>
<h2><:info_articles_trouves:></h2>
<ul>
<BOUCLE_articles(ARTICLES) {recherche} {par points}{inverse}>
<li>#POINTS <a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul>
</B_articles>
Підсвічування термінів, за якими йде пошук, на інших сторінках
Терміни, за якими йде пошук, виокремлюються на інших сторінка за допомогою функції з бібліотеки jquery.
- Якщо змінна recherche
включена до URL, вона спочатку очищується, аби уникнути injection attacks, а потім, якщо пошук за ключами знайшов її безпосередньо всередині блоку, відзначається як class="surlignable"
(or in a descendant block of a class="surlignable"
block), it will be displayed as a highlight within a <span class="spip_surligne">.../span>
block.
- If it is found directly inside a class="pas_surlignable"
block (or in a descendant block of a class="pas_surlignable"
) block, it is displayed normally as (nohighlight).
- Візуальний зовнішній вигляд підсвічування може бути змінено шляхом зміни визначення стилю для .spip_surligne
(див: «Modifier l’habillage graphique»).
Щоб скористатися перевагами підсвічування умов пошуку прямо з першої сторінки, що відображається (наприклад у випадку, коли пошук не повертає recherche.html), додайте цей код до файлу mes_options.php:
if (isset($_REQUEST['recherche'])) {
$_GET['var_recherche'] = $_REQUEST['recherche'];
}