svn commit: r640097 - in /lenya/trunk/src/modules/lucene: resources/i18n/cmsui.xml resources/i18n/cmsui_de.xml sitemap.xmap xslt/search2html.xsl

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Sat Mar 22 15:21:42 2008
New Revision: 640097

URL: http://svn.apache.org/viewvc?rev=640097&view=rev
Log:
Fixed search results page for empty queries, improve i18n for one/many hits.

Modified:
    lenya/trunk/src/modules/lucene/resources/i18n/cmsui.xml
    lenya/trunk/src/modules/lucene/resources/i18n/cmsui_de.xml
    lenya/trunk/src/modules/lucene/sitemap.xmap
    lenya/trunk/src/modules/lucene/xslt/search2html.xsl

Modified: lenya/trunk/src/modules/lucene/resources/i18n/cmsui.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/resources/i18n/cmsui.xml?rev=640097&r1=640096&r2=640097&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/resources/i18n/cmsui.xml (original)
+++ lenya/trunk/src/modules/lucene/resources/i18n/cmsui.xml Sat Mar 22 15:21:42 2008
@@ -25,7 +25,8 @@
   <message key="Rank">Rank</message>
   <message key="Score">Score</message>
   <message key="No Title">(no title)</message>
-  <message key="hits">{0} hits</message>
+  <message key="1 hit">1 hit</message>
+  <message key="… hits">{0} hits</message>
   <message key="Pages">Pages</message>
   
   <message key="indexing-failed-subject">Indexing failed</message>

Modified: lenya/trunk/src/modules/lucene/resources/i18n/cmsui_de.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/resources/i18n/cmsui_de.xml?rev=640097&r1=640096&r2=640097&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/resources/i18n/cmsui_de.xml (original)
+++ lenya/trunk/src/modules/lucene/resources/i18n/cmsui_de.xml Sat Mar 22 15:21:42 2008
@@ -25,7 +25,8 @@
   <message key="Rank">Rang</message>
   <message key="Score">Quote</message>
   <message key="No Title">(kein Titel)</message>
-  <message key="hits">{0} Ergebnisse</message>
+  <message key="1 hit">1 Ergebnis</message>
+  <message key="… hits">{0} Ergebnisse</message>
   <message key="Pages">Seiten</message>
   
   <message key="indexing-failed-subject">Indexierung fehlgeschlagen</message>

Modified: lenya/trunk/src/modules/lucene/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/sitemap.xmap?rev=640097&r1=640096&r2=640097&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/sitemap.xmap (original)
+++ lenya/trunk/src/modules/lucene/sitemap.xmap Sat Mar 22 15:21:42 2008
@@ -93,10 +93,21 @@
       
       <!-- {1:pub}/{2:area}/{3:queryString} -->
       <map:match pattern="search-generator/*/*/*">
-        <map:generate type="search">
-          <map:parameter name="index" value="{index-path:{1}-{2}}"/>
-          <map:parameter name="query" value="title:{3} OR description:{3} OR subject:{3} OR body:{3}"/>
-        </map:generate>
+        <map:select type="parameter">
+          <map:parameter name="parameter-selector-test" value="{3}"/>
+          <map:when test="">
+            <map:generate type="search">
+              <map:parameter name="index" value="{index-path:{1}-{2}}"/>
+              <map:parameter name="query" value=""/>
+            </map:generate>
+          </map:when>
+          <map:otherwise>
+            <map:generate type="search">
+              <map:parameter name="index" value="{index-path:{1}-{2}}"/>
+              <map:parameter name="query" value="title:{3} OR description:{3} OR subject:{3} OR body:{3}"/>
+            </map:generate>
+          </map:otherwise>
+        </map:select>
         <map:serialize type="xml"/>
       </map:match>
       

Modified: lenya/trunk/src/modules/lucene/xslt/search2html.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/xslt/search2html.xsl?rev=640097&r1=640096&r2=640097&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/xslt/search2html.xsl (original)
+++ lenya/trunk/src/modules/lucene/xslt/search2html.xsl Sat Mar 22 15:21:42 2008
@@ -43,7 +43,12 @@
   
   <xsl:template match="search:results">  
     <div id="body">
-      <xsl:apply-templates/>
+      <h1><i18n:text>Search</i18n:text></h1>
+      <form class="search-results-form" action="" method="get">
+        <input name="queryString" type="text" style="width: 400px" value="{$queryString}"
+        />&#160;<input type="submit" name="submit" value="Search" i18n:attr="value"/>
+      </form>
+      <xsl:apply-templates select="search:hits"/>
     </div>
   </xsl:template>
 
@@ -56,27 +61,29 @@
         <em><xsl:value-of select="/search:results/@query-string"/></em>
     </h1>
     -->
-    <h1><i18n:text>Search</i18n:text></h1>
-    <form class="search-results-form" action="" method="get">
-      <input name="queryString" type="text" style="width: 400px" value="{$queryString}"
-      />&#160;<input type="submit" name="submit" value="Search" i18n:attr="value"/>
-    </form>
-    
     <h2>
-      <i18n:translate>
-        <i18n:text>hits</i18n:text>
-        <i18n:param><xsl:value-of select="@total-count"/></i18n:param>
-      </i18n:translate>
+      <xsl:choose>
+        <xsl:when test="@total-count = 1">
+          <i18n:text>1 hit</i18n:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <i18n:translate>
+            <i18n:text>… hits</i18n:text>
+            <i18n:param><xsl:value-of select="@total-count"/></i18n:param>
+          </i18n:translate>
+        </xsl:otherwise>
+      </xsl:choose>
     </h2>
     <ul class="search-results">
       <xsl:apply-templates/>
     </ul>
     
-    <p>
-      <i18n:text>Pages</i18n:text><xsl:text>: </xsl:text>
-
-      <xsl:if test="count(/search:results/search:navigation/search:navigation-page) &gt; 1">
-        <xsl:for-each select="/search:results/search:navigation/search:navigation-page">
+    <xsl:variable name="pages" select="/search:results/search:navigation/search:navigation-page"/>
+    <xsl:if test="count($pages) &gt; 1">
+      <p>
+        <i18n:text>Pages</i18n:text><xsl:text>: </xsl:text>
+  
+        <xsl:for-each select="$pages">
           <xsl:call-template name="navigation-link"> 
             <xsl:with-param name="query-string" select="/search:results/@query-string"/>
             <xsl:with-param name="page-length" select="/search:results/@page-length"/>
@@ -84,17 +91,17 @@
             <xsl:with-param name="link-text" select="position()"/>
           </xsl:call-template>
         </xsl:for-each>
-      </xsl:if>  
-      
-      <xsl:call-template name="navigation-paging-link">
-        <xsl:with-param name="query-string" select="/search:results/@query-string"/>
-        <xsl:with-param name="page-length" select="/search:results/@page-length"/>
-        <xsl:with-param name="has-previous" select="/search:results/search:navigation/@has-previous"/>
-        <xsl:with-param name="has-next" select="/search:results/search:navigation/@has-next"/>
-        <xsl:with-param name="previous-index" select="/search:results/search:navigation/@previous-index"/>
-        <xsl:with-param name="next-index" select="/search:results/search:navigation/@next-index"/>
-      </xsl:call-template>
-    </p>
+        
+        <xsl:call-template name="navigation-paging-link">
+          <xsl:with-param name="query-string" select="/search:results/@query-string"/>
+          <xsl:with-param name="page-length" select="/search:results/@page-length"/>
+          <xsl:with-param name="has-previous" select="/search:results/search:navigation/@has-previous"/>
+          <xsl:with-param name="has-next" select="/search:results/search:navigation/@has-next"/>
+          <xsl:with-param name="previous-index" select="/search:results/search:navigation/@previous-index"/>
+          <xsl:with-param name="next-index" select="/search:results/search:navigation/@next-index"/>
+        </xsl:call-template>
+      </p>
+    </xsl:if>
     
   </xsl:template>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.