我在Umbraco 4.8下开发。
我正在尝试从我的XSLT访问一个类来从中检索一些东西。 该课程名为UmbracoHelper。 我在XSLT的顶部添加了以下内容:
但现在我想调用下面的函数:
<xsl:for-each select="$GalleryImages/nodeId">
<xsl:variable name="myNode" select="UmbracoHelper:GetNode(.)"/>
</xsl:for-each>
我遇到了这个错误:
无法找到与命名空间'urn:UmbracoHelper'关联的脚本或扩展程序对象。
我在这里错过了什么?
答案 0 :(得分:2)
简而言之:编写代码并构建(UmbracoHelper)。将程序集添加到bin文件夹。确保在xsltextensions.config中添加对程序集的引用。然后通过您的XSLT中的urn引用。
答案 1 :(得分:1)
实际上,虽然Jonathan的回答是正确的,但该方法略有弃用。
更简单的方法是在解决方案中添加对umbraco.dll的引用。然后,您可以使用[RestExtension("TestAlias")]
[XsltExtension]
属性装饰您的课程,如here所示。然后,您可以将.cs文件放在App_Data文件夹中,或者将其编译并将dll文件放在Umbraco安装的bin目录中。这种方法的优点是它不需要自己编辑配置文件。