Как можно вывести строку поиска в XSLT-шаблоне?

Материал из Umicms
Версия от 11:29, 8 сентября 2011; Cmac (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Как можно вывести строку поиска в 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>