0

我正在 Umbraco 4.8 下开发。

我正在尝试从我的 XSLT 访问一个类以从中检索某些内容。该类名为 UmbracoHelper。我在 XSLT 的顶部添加了以下内容:

  • xmlns:UmbracoHelper="urn:UmbracoHelper"
  • 排除结果前缀“UmbracoHelper”

但是现在当我想调用如下函数时:

<xsl:for-each select="$GalleryImages/nodeId">
<xsl:variable name="myNode" select="UmbracoHelper:GetNode(.)"/>
</xsl:for-each>

我正面临这个错误:

找不到与命名空间“urn:UmbracoHelper”关联的脚本或扩展对象。

我在这里错过了什么?

4

2 回答 2

2

简而言之:编写代码并构建 (UmbracoHelper)。将程序集添加到 bin 文件夹。确保在 xsltextensions.config 中添加对程序集的引用。然后通过 XSLT 中的 urn 进行引用。

见:http ://www.nibble.be/?p=60

于 2013-04-29T22:50:40.300 回答
1

实际上,虽然乔纳森的回答是正确的,但该方法已被略微弃用。

更简单的方法是在您的解决方案中添加对 umbraco.dll 的引用。[RestExtension("TestAlias")] [XsltExtension]然后,您可以使用属性来装饰您的类,如此处所示。然后,您可以将 .cs 文件拖放到 App_Data 文件夹中,或者对其进行编译并将 dll 文件拖放到 Umbraco 安装的 bin 目录中。这种方法的优点是无需自己编辑配置文件。

于 2013-04-29T22:55:21.413 回答