Пример использования
$data = $this->macros('search', 'insert_form');
Не возвращает практически никаких полезных данных для построения формы поиска в данном шаблонизаторе. Форму поиска нужно реализовывать самостоятельно.
В XSLT-шаблонизаторе макрос выводит только строку предыдущего поиска (last_search_string
), саму форму необходимо задать в шаблоне самостоятельно.
XML-ответ UData
<udata module="search" method="insert_form" generation-time="0.001417">
<last_search_string>Поиск</last_search_string>
</udata>
Примеры использования
Мы можем вставить в том месте, где хотим вывести форму поиска инструкцию:
<xsl:apply-templates select="document('udata://search/insert_form')/udata" />
И описать шаблон с формой:
<xsl:template match="udata[@method = 'insert_form']">
<form id="search" class="block" method="get" action="{$pre_lang}/search/search_do/">
<input
type="text"
class="textinputs"
style="width:180px;"
name="search_string"
value="{last_search_string}"
onfocus="javascript: if(this.value == '{last_search_string}') this.value = '';"
onblur="javascript: if(this.value == '') this.value = '{last_search_string}';"/>
<input type="submit" value="Искать"/>
</form>
</xsl:template>
Способ определения переменной $pre_lang
описан в примере использования макроса %system getLangsList%.
Вывод формы поиска осуществляется по шаблону, указанному в параметре template. Вы можете не указывать этот параметр, в этом случае для вывода свойства будет использован шаблон по умолчанию — default.tpl
.
Для определения языкового префикса служит макрос %pre_lang%.
Примеры использования
<?php
$FORMS = Array();
$FORMS['search_form'] = <<<END
<form id="search" class="block" method="get" action="%pre_lang%/search/search_do/">
<input
type="text"
class="textinputs"
style="width:180px;"
name="search_string"
value="%last_search_string%"
onfocus="javascript: if(this.value == '%last_search_string%') this.value = '';"
onblur="javascript: if(this.value == '') { this.value = '%last_search_string%';}"/>
<input type="submit" value="Искать"/>
</form>
END;
?>
Название
%search insert_form()% — Выводит форму поиска по сайту.
Параметры: search insert_form([template = 'default'])
- template
-
Имя шаблона, по которому следует вывести форму поиска.В XSLT-шаблонизаторе игнорируется.