Как можно вывести строку поиска в XSLT-шаблоне?
Материал из Umicms
Версия от 11:19, 3 сентября 2009; 83.243.76.254 (обсуждение) (Новая страница: «Как можно вывести строку поиска в XSLT-шаблоне? В <body> нашего первого обработчика (<xsl:template match=…»)
Как можно вывести строку поиска в XSLT-шаблоне? В <body> нашего первого обработчика (<xsl:template match="/">) по протоколу udata берем результат работы макроса поиска
<xsl:apply-templates select="document('udata://search/search_do')/udata" mode="searchform"/>
Далее в шаблоне дизайна прописываем еще два шаблона: Первый получает данные работы макроса % search insert_form()% и выводит их списком:
<xsl:template match="udata[@module = 'search' and @method = 'search_do']" mode="searchform">
<xsl:apply-templates select="document('udata://search/insert_form')/udata"/>
-
<xsl:apply-templates select="items/item"/>
</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"> <xsl:attribute name="value"> <xsl:value-of select="last_search_string"/> </xsl:attribute> </input> <input type="submit" value="Поиск"/> </form>
</xsl:template>