2011-08-08 183 views
0

我已爲SharePoint 2010內容查詢Web部件創建了自定義ItemStyle_ContactDetails.xsl,該部件通過ItemXslLink屬性指向此自定義文件。網頁部分將被過濾,只顯示該部門聯繫信息的一條記錄。它的閱讀列表中有這些列:爲SharePoint創建自定義ItemStyle模板

  • @Title - 內置的SharePoint列
  • /dsQueryResponse /行/行/ @招聘人數 - 內置的SharePoint列
  • /dsQueryResponse /行/行/ @ PrimaryNumber - 內置的SharePoint列
  • @email - 內置的SharePoint列
  • @ Opening_x0020_Hours - 自定義多線豐富文本列

上述名稱是他們在另一個站點的數據視圖Web部件中調用的名稱。我曾在DVWP,對於本地站點的工作如下:

<td colspan="2" class="ms-vb" style="text-align:center"> 
    <b><xsl:value-of select="@Title"/></b><br></br> 
    <div style="margin-top:10px;"><xsl:value-of 
     select="/dsQueryResponse/Rows/Row/@WorkAddress"/> 
     (<a href="{@Map}">MAP</a>) 
    </div> 
    Tel: <xsl:value-of select="/dsQueryResponse/Rows/Row/@PrimaryNumber"/><br></br> 
    <a href="mailto:{@EMail}"><xsl:value-of select="@EMail"/></a> 
    <p><b>Opening Hours:</b></p> 
    <div style="position:relative; top:0; margin:0"> 
     <xsl:value-of select="@Opening_x0020_Hours" 
     disable-output-escaping="yes"/> 
    </div> 
</td> 

如何翻譯這對自定義模板ItemStyle_ContactDetails.xsl?用戶需要查看信息,而無需單擊鏈接即可查看信息 - 該部門總是隻有一條記錄。謝謝。

回答

1

一些嚴重的試驗和錯誤產生的結果,與這個偉大的文章一起:http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx

也許別人想同樣的事情可以找到這個有用:您可以通過SPDesigner在服務器上編輯自定義XSL文件,但是你不能對Web部件做同樣的事情,並希望立即反映這些變化。您必須導出內容查詢Web部件,然後編輯該文件在記事本等,使您的更改以下3個項目:

  • 更改ItemXslLink指向您的自定義XSL文件:

    <property name="ItemXslLink" type="string">/Style Library/XSL Style Sheets/ItemStyle_ContactDetails.xsl</property>

  • 更改Web部件中的ItemStyle項目以引用您的模板名稱;在XSL文件模板名稱是ContactDetails

    <xsl:template name="ContactDetails" match="Row[@Style='ContactDetails']" mode="itemstyle">

    所以在你的網絡的一部分,你有這樣的:

    <property name="ItemStyle" type="string">ContactDetails</property>

  • 更新CommonViewFields列出您的自定義列其類型:

    <property name="CommonViewFields" type="string">WorkAddress, Text; EMail,Text; Contact_x0020_Department,Choice; Map,URL; Opening_x0020_Hours,Text; PrimaryNumber, Text</property>

保存Web部件文件並通過瀏覽器將其導入(上載)到您的Web部件庫。每次您對Web部件進行更改時,都會想要這樣做;可以編輯XSL文件並將其保存在SPDesigner中,並且這些更改會立即在瀏覽器中反映出來。

希望這可以幫助像我一樣卡住的人:)

相關問題