我每周创建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