Вывод строки поиска — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «== Инструкция == В '''<body>''' нашего первого обработчика (''<xsl:template match="/">'') по протоколу udata бе…»)
 
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
== Инструкция ==
 
== Инструкция ==
  
В  '''<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"/>''
 
                  
 
                  
Строка 29: Строка 29:
 
</source>
 
</source>
  
== Ссылки ==
+
[[Категория:Верстка в XSLT]][[category:Модуль Поиск]]
 
 
* [http://nav.linuxhosting.spb.ru/xsltTpls/test.xsl Пример XSLT шаблона]
 

Текущая версия на 13:44, 21 ноября 2018

Инструкция

В <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"/>
             <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">
                <xsl:attribute name="value">
                        <xsl:value-of select="last_search_string"/>
                    </xsl:attribute>
                 </input>
                   <input type="submit" value="Поиск"/>
     </form>
</xsl:template>