2013-07-10 47 views
1

我創建XPages中搜索控制,行之有效。我現在的問題是如何創建鏈接來打開結果。這也工作正常,除非結果是在xpages重複控制。 所以我的問題是如何直接跳到特定的網站和該網站上的特定文檔,例如頁面網站3和那裏第5文件。 是否可以執行多個錨鏈接(打開網站,跳轉到重複控件中的頁面,而不是文檔...)。 如果我的深層鏈接和我的標籤鏈接具有相同的「問題」。跳轉到搜索結果中具有尋呼機控制重複控制在XPages中

感謝 阿明

重複的代碼看起來是這樣的(我清理一些引導的東西了,希望不要太多)

<xp:dominoView var="viewSC" sortColumn="sorting" 
     sortOrder="descending"> 
     <xp:this.viewName><![CDATA[#{javascript:if (sessionScope.level2UNID == ""){ 
    return "HV3101"; 
}else{ 
    return "HV3201"; 
}}]]></xp:this.viewName> 

     <xp:this.search><![CDATA[#{javascript:var qString:String; 
if (sessionScope.level2UNID != null & sessionScope.level2UNID != ""){ 
    qString = "(Field level2Key = \"" + sessionScope.level2UNID + "\")"; 
}else{ 
    qString = "(Field level1Key = \"" + sessionScope.level1UNID + "\")"; 
} 
sessionScope.l3Query = qString; 
return qString;}]]></xp:this.search> 
    </xp:dominoView> 


    <xp:panel id="contentRepeat" styleClass="content"> 
     <xp:repeat id="level3" rows="2" var="level3List" 
      disableOutputTag="true" value="#{viewSC}" indexVar="L3X"> 
      <xp:panel id="repeatFrame" disableOutputTag="true"> 
       <xp:this.data> 
        <xp:dominoDocument var="docL3" action="openDocument" 
         documentId="#{javascript:level3List.getNoteID()}" 
         ignoreRequestParams="true"> 
        </xp:dominoDocument> 
       </xp:this.data> 

       <xp:panel id="anchor" tagName="a"> 
        <xp:this.attrs> 
         <xp:attr name="name"> 
          <xp:this.value><![CDATA[#{javascript:try{ 
docL3.getItemValueString("UniqueID"); 
}catch (e){ 
sessionScope.L3Err = e; 
}}]]></xp:this.value> 
         </xp:attr> 
        </xp:this.attrs> 
       </xp:panel> 

       <xp:panel id="bsAccordion" styleClass="accordion"> 
        <xp:div styleClass="accordion-group"> 
         <xp:div styleClass="accordion-heading"> 
          <xp:link escape="true" styleClass="accordion-toggle" id="toggleSubContent"> 
           <xp:this.attrs> 
            <xp:attr name="data-toggle" value="collapse"> 
            </xp:attr> 
            <xp:attr name="data-parent" value="##{id:bsAccordion}"> 
            </xp:attr> 
           </xp:this.attrs> 
           <xp:this.text><![CDATA[#{javascript:try{ 
if(level3List != null){ 
    var nd:NotesDocument = level3List.getDocument(); 
    if(nd != null){ 
     if(nd.getItemValueString("dspCreated") == "1"){ 
      var creationDate:NotesDateTime = nd.getItemValueDateTimeArray("created")[0]; 
      return " " + nd.getItemValueString("title") + " (Erstellt: " + creationDate.getDateOnly() + ")"; 
     }else{ 
      return " " + nd.getItemValueString("title"); 
     }  
    } 
} 
}catch(e){ 
    sessionScope.errorEx = e; 
}}]]></xp:this.text> 
           <xp:this.value><![CDATA[#{javascript:x$(getComponent("accordionCollapse").getClientId(facesContext))}]]></xp:this.value> 
           <i class="icon-minus"></i> 
          </xp:link> 
          <xp:link escape="true" id="link1" value="##{id:pager1}"> 
           <xp:this.text><![CDATA[#{javascript:"aP" + L3X}]]></xp:this.text> 
          </xp:link> 
         </xp:div> 
         <xp:panel styleClass="accordion-body collapse in" id="accordionCollapse"> 
          <xp:div styleClass="accordion-inner"> 
           <xp:panel id="subRTContent" styleClass="l3Content"> 
            <xp:inputRichText id="dspLevel3" value="#{docL3.content}" 
             readonly="true" styleClass="l3Content"> 
            </xp:inputRichText> 
           </xp:panel> 
           <xp:panel styleClass="contentFooter" id="contentSFooter"> 

             </xp:panel> 
          </xp:div> 
         </xp:panel> 
        </xp:div> 
       </xp:panel> 

      </xp:panel> 
     </xp:repeat> 
    </xp:panel> 
+2

代碼示例rulez – stwissel

+0

你不妨去跳到第X頁,在鏈接到您的重複控制導航控件? – Naveen

+0

一個代碼示例有點困難。我有3個導航級別(頂級,側面導航和內容)。每個單一的文件都存儲在一個會議範圍內。所以如果我打開一個文檔,我會設置3個會話鏡並計算頁面。我會盡我所能去拿出一些東西...... –

回答

1

幾個指標,這可以幫助你繼續前進:在重複

  • 停止尋呼。該EXTLIB有「顯示更多」一個很好的樣本,所以不是顯示1-20,21-40等你展示,直到您找到了記錄(可能不適用於大型數據集工作)
  • 打開與URL參數的搜索頁面表明文件的位置編號(例如498)。然後使用該參數讓重複控件計算出開始位置(這取決於重複配置的文檔數量(默認值是30,但您不知道)。只要確保不使用傳遞的參數未選中。
  • 您可以添加<a name="[unid]">(或ID =)標籤,重複,然後按[直接導航(http://reference.sitepoint.com/html/a)給他們.... NSF/searchResults.xsp# UNID?moreParameters

讓我們知道如何去

+0

爲每個重複的元素創建一個錨標籤是沒有問題的,但是我怎樣才能鏈接到這個?如果重複創建頁面,則不計算來自第二頁面的錨鏈接。至少它們在html中不可見。我現在不明白。 –

+0

用你迄今爲止的代碼更新你的問題。簡化它以獲得顯示問題的最小示例 - 有助於獲得清晰度。所以,你有一個錨(檢查你的源泉!)你鏈接到它在href參數yourpage.xsp#theanchor – stwissel

+0

是的,我有錨和它的作品,如果他們是在同一頁上... XSP#錨跳轉到contentet。但它不會跳轉到不同頁面上的內容。這workbecause我還以爲他們會被「計算」當我移動到下一個頁面... –