Для начала в панели управления сайтом нужно создать страницу поиска с адресом страницы /search
и с шаблоном страницы Поиск по сайту (search.html)
. В шаблон search.html
нужно вставить следующий html код:
выложить код страницы поиска...
В месте, где необходимо вставить форму поиска нужно вставить следующий код:
{% if site.lang == 'kz' %}
{% set poisk = "Іздеу" %}
{% else %}
{% set poisk = "Поиск" %}
{% endif %}
<form action="/search" class="search">
<input type="hidden" value="{{site.lang}}" name="lang" />
{% set stext = xget('text') %}
<input type="search" value="{{stext}}" name="text" placeholder="{{poisk}}" class="inputbox" />
</form>
Переменную {{poisk}}
можно заменить на {{translate['cms.site.search']}}
, но для этого нужно создать файл словаря фраз и указать в нем перевод для переменной cms.site.search
.
В результате получится следующий код:
<form action="/search" class="search">
<input type="hidden" value="{{site.lang}}" name="lang" />
{% set stext = xget('text') %}
<input type="search" value="{{stext}}" name="text" placeholder="{{translate['cms.site.search']}}" class="inputbox" />
</form>
В месте, где необходимо вывести результаты поиска нужно прописать:
{{widgetRenderByType('search', {})}}
Альтернативный метод вывода страницы поиска и найденных материалов (поиск ищет в новостях и блоге):
{% set r = widgetSearch({
filter: {
'%text': xget('text'),
site_owner: site.id,
public: 1,
isDeleted: false,
},
order: {
widget_name: 'asc',
},
start: 0,
limit: 30,
}) %}
{% set data = r.res %}
{% set count = r.count %}
{% if count > 0 %}
{% for d in data %}
{% if d.domain is not null %}
{% set href = link('http://'~d.domain~'/'~d.widget_name~'/?pkid='~d.pkid) %}
{% endif %}
{% set href = link('/'~d.widget_name~'/?pkid='~d.pkid) %}
<div class="news_view1">
<div class="img_box1">
<a href="{{link("/"~d.widget_name~"/?pkid="~d.pkid)}}">
<img src="/files/sites/{{d.site_owner}}/{{d.widget_name}}/{{d.image}}">
</a>
</div>
<div class="h50">
<h2>
<a href="{{link("/"~d.widget_name~"/?pkid="~d.pkid)}}">{{d.head}}</a>
</h2>
<div class="date">{{d.gmtimePublic | iostrtodate('d.m.Y', 'Asia/Almaty') }}</div>
<div class="description">{{cutString(d.about | purify, 580, '') | striptags}}</div>
</div>
<a href="{{link(href)}}" class="link1">{{translate['cms.more']}} >></a>
</div>
<div class="hr"></div>
{% endfor %}
{% else %}
<i>По вашему запросу ничего не найдено</i>
{% endif %}