Как можно вывести строку поиска в XSLT-шаблоне? — различия между версиями
Материал из Umicms
Cmac (обсуждение | вклад) м (1 версия) |
Cmac (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 32: | Строка 32: | ||
</xsl:template> | </xsl:template> | ||
− | </source>[[Категория:Модуль Поиск]] | + | </source> |
+ | [[Категория:Модуль Поиск]] |
Текущая версия на 11:29, 8 сентября 2011
Как можно вывести строку поиска в XSLT-шаблоне? В <body> нашего первого обработчика (<xsl:template match="/">) по протоколу udata берем результат работы макроса поиска
<xsl:apply-templates select="document('udata://search/search_do')/udata" mode="searchform"/>
Далее в шаблоне дизайна прописываем еще два шаблона: Первый получает данные работы макроса %search insert_form()%[1] и выводит их списком:
<xsl:template match="udata[@module = 'search' and @method = 'search_do']" mode="searchform">
<xsl:apply-templates select="document('udata://search/insert_form')/udata"/>
<ul>
<xsl:apply-templates select="items/item"/>
</ul>
</xsl:template>
Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос:
<xsl:template match="udata[@module = 'search' and @method = 'insert_form']">
<form method="get" action="/search/search_do/">
<input type="text" name="search_string" value="{last_search_string}"/>
<input type="submit" value="Поиск"/>
</form>
</xsl:template>