2011-08-31 36 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

相关问题