Как можно вывести строку поиска в XSLT-шаблоне? — различия между версиями
Материал из Umicms
(Новая страница: «Как можно вывести строку поиска в XSLT-шаблоне? В <body> нашего первого обработчика (<xsl:template match=…») |
Cmac (обсуждение | вклад) |
||
(не показано 5 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
Как можно вывести строку поиска в XSLT-шаблоне? | Как можно вывести строку поиска в XSLT-шаблоне? | ||
В <body> нашего первого обработчика (<xsl:template match="/">) по протоколу udata берем результат работы макроса поиска | В <body> нашего первого обработчика (<xsl:template match="/">) по протоколу udata берем результат работы макроса поиска | ||
− | |||
− | + | <source lang="xml"> | |
<xsl:apply-templates select="document('udata://search/search_do')/udata" mode="searchform"/> | <xsl:apply-templates select="document('udata://search/search_do')/udata" mode="searchform"/> | ||
+ | </source> | ||
− | + | Далее в шаблоне дизайна прописываем еще два шаблона: Первый получает данные работы макроса %search insert_form()%[http://help-dev.umi-cms.ru/search.insert_form.html] и выводит их списком: | |
− | + | <source lang="xml"> | |
+ | <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> | ||
+ | </source> | ||
Строка 21: | Строка 23: | ||
Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос: | Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос: | ||
+ | <source lang="xml"> | ||
<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" value="{last_search_string}"/> | |
− | + | <input type="submit" value="Поиск"/> | |
− | + | </form> | |
− | + | ||
− | |||
− | |||
− | |||
</xsl:template> | </xsl:template> | ||
+ | </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>