Как можно вывести строку поиска в 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>
      <ul>
+
                    <xsl:apply-templates select="items/item"/>
            <xsl:apply-templates select="items/item"/>
+
            </ul>
      </ul>
 
 
</xsl:template>
 
</xsl:template>
</source>
 
  
 
   
 
   
Строка 23: Строка 21:
 
Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос:
 
Второй отвечает за вывод самой строки поиска, значением поля которого будет являться последний поисковый запрос:
  
<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="text" name="search_string">
          <input type="submit" value="Поиск"/>
+
                <xsl:attribute name="value">
    </form>
+
                        <xsl:value-of select="last_search_string"/>
 
+
                    </xsl:attribute>
 +
                </input>
 +
                  <input type="submit" value="Поиск"/>
 +
    </form>
 
</xsl:template>
 
</xsl:template>
</source>[[Категория:Модуль Поиск]]
 

Версия 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>