我每週創建2-3個HTML文件,這些文件將通過FTP上傳到Web服務器上的文件夾。這些文件只是純粹的HTML,其結果來自我的本地Bridge Club。自動創建鏈接到文件夾中的內容
在我繼續之前,花時間在.Net中創建一個「花哨」的解決方案之前,我最好問一下在Umbraco中是否有內置的支持。
基本上我想有一個名爲結果主菜單項,該頁面應該有指向每個.HTML文件中的二級菜單中的特定文件夾
任何想法?
乾杯, 斯特凡
我每週創建2-3個HTML文件,這些文件將通過FTP上傳到Web服務器上的文件夾。這些文件只是純粹的HTML,其結果來自我的本地Bridge Club。自動創建鏈接到文件夾中的內容
在我繼續之前,花時間在.Net中創建一個「花哨」的解決方案之前,我最好問一下在Umbraco中是否有內置的支持。
基本上我想有一個名爲結果主菜單項,該頁面應該有指向每個.HTML文件中的二級菜單中的特定文件夾
任何想法?
乾杯, 斯特凡
首先,確保你把該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
嘿,感謝一個很好的答案! – StefanE