Поиск по сайту
Реализацию поиска на сайте стоит начать с создания файла-шаблона, например search.php. Подробнее о том, как это сделать, можно узнать в разделе: Шаблоны страниц.
Содержание файла search.php:
<?php
/**
* Поиск по сайту
**/
?>
<!DOCTYPE html>
<html>
{% :head %}
<body>
<div class="main-wrap">
{% :header %}
<div id="page-content">
<div class="container">
<? if (!g::stack()->get('pages') && empty(g::stack()->get('pages'))): ?>
<div class="row">
<h3>По Вашему запросу ничего не найдено</h3>
</div>
<? else: ?>
<? if ($pages = g::stack()->get('pages')): ?>
<div class="content-section">
<div class="container">
<h3>Поиск по сайту</h3>
<div class="pages-list">
<? foreach($pages as $i): ?>
<div class="pages-item">
<h4><a href="<?= $i['url'] ?>"><?= $i['name'] ?></a></h4>
</div>
<? endforeach; ?>
</div>
<? if (g::pages()->pagination): ?>
<ul class="pagination">
<?=g::tp()->pagination('<li><a href="/search/?q='.g::stack()->get('search_info')["search_text"].'&ppage=%d">%d</li>',
'<li class="current">%d</li>',
'<li>...</li>',
g::stack()->get('search_info')["ppage"],
g::stack()->get('search_info')["count_page"],
1
);
?>
</ul>
<? endif; ?>
</div>
</div>
<? endif; ?>
<? endif; ?>
</div>
</div>
</div>
{% :footer %}
{% :footer-js %}
</body>
</html>
Следующим шагом будет создание страницы с выбранным шаблоном Поиск по сайту | search. В качестве значения URL можно установить понятное всем пользователям search. Страница результатов поиска будет иметь адрес: https://site.ru/search/.
В заключении нужно добавить данные в форму поиска, расположенную в шаблоне:
<form action="/search/" method="GET">
<input type="text" name="q">
<input type="submit" value="Искать">
</form>