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