2011-08-31 35 views
0

我每週創建2-3個HTML文件,這些文件將通過FTP上傳到Web服務器上的文件夾。這些文件只是純粹的HTML,其結果來自我的本地Bridge Club。自動創建鏈接到文件夾中的內容

在我繼續之前,花時間在.Net中創建一個「花哨」的解決方案之前,我最好問一下在Umbraco中是否有內置的支持。

基本上我想有一個名爲結果主菜單項,該頁面應該有指向每個.HTML文件中的二級菜單中的特定文件夾

任何想法?

乾杯, 斯特凡

回答

2

首先,確保你把該HTML文件被上傳到在web.config中umbracoReservedPaths應用程序設置中的路徑。

接下來,我將創建一個XSLT extension(或custom function返回一個XPathNodeIterator包含每個HTML文件名的方法將需要建立一個看起來像一個XmlDocument:

<files> 
    <file>/htmlfiles/file1.html</file> 
    <file>/htmlfiles/file2.html</file> 
    <file>/htmlfiles/file3.html</file> 
</files> 

然後調用XmlDocument的CreateNavigator()和使用Directory.GetFiles獲取HTML文件名的列表,並將它們轉換爲網頁準備好的URL,如/htmlfiles/file1.html

然後用一個簡單的XSLT宏顯示它,在for-each中擴展XSLT擴展的結果。這看起來是這樣的:

<xsl:for-each select="customExtensions:GetFiles()//file"> 
    <a> 
     <xsl:attribute name="href"> 
     <xsl:value-of select="." /> 
     </xsl:attribute> 
     <xsl:text>File #</xsl:text> 
     <xsl:value-of select="position()" /> 
    </a> 
</xsl:for-each> 

這將產生像

File #1 
File #2 
File #3 

所有列表鏈接到的XML各自的價值。

擴展方法的一個很好的例子是here

+0

嘿,感謝一個很好的答案! – StefanE

相關問題