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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Как можно вывести строку поиска в XSLT-шаблоне? В <body> нашего первого обработчика (<xsl:template match=…»)
Строка 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] и выводит их списком:
  
Далее в шаблоне дизайна прописываем еще два шаблона: Первый получает данные работы макроса % search insert_form()% и выводит их списком:
+
<source lang="xml">
 +
<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>
            </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">
+
          <input type="text" name="search_string" value="{last_search_string}"/>
                <xsl:attribute name="value">
+
          <input type="submit" value="Поиск"/>
                        <xsl:value-of select="last_search_string"/>
+
    </form>
                    </xsl:attribute>
+
 
                </input>
 
                  <input type="submit" value="Поиск"/>
 
    </form>
 
 
</xsl:template>
 
</xsl:template>
 +
</source>

Версия 10:20, 1 сентября 2010

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