Сначала убедитесь, что вы указали путь, по которому загружаются html-файлы, в настройке приложения umbracoReservedPaths
в файле web.config.
Далее я бы создал расширение XSLT (или пользовательскую функцию , которое возвращает XPathNodeIterator
, содержащее каждое имя файла HTML. Метод должен будет создать XmlDocument, который выглядит примерно так: :
<files>
<file>/htmlfiles/file1.html</file>
<file>/htmlfiles/file2.html</file>
<file>/htmlfiles/file3.html</file>
</files>
Затем вызовите CreateNavigator()
в XmlDocument и верните его из метода расширения XSLT. Используйте Directory.GetFiles , чтобы получить список имен файлов HTML и преобразовать их в готовый веб-URL, например /htmlfiles/file1.html
.
Затем отобразите все это с помощью простого макроса XSLT, который повторяет результат вашего расширения XSLT в for-each. Это будет выглядеть примерно так:
<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.
Хороший пример метода расширения: здесь