XSLT参数始终为空<xsl:param name =“mediaFolderId”select =“/ macro / mediaFolderId”> </xsl:param>

时间:2012-04-14 08:58:27

标签: xslt umbraco

我创建了一个名为GraphicsRowSlider的xslt,其中包含以下参数

<xsl:param name="mediaFolderId" select="/macro/mediaFolderId" />
<xsl:param name="title" select="/macro/title" />

并将参数title和mediaFolderId添加到相关的宏。

然后我创建了新的Macro Container数据类型,并选择宏GraphicsRowSlider作为允许的宏。然后,我将新数据类型的新字段添加到文档类型中,然后将该字段导入模板。

最后,从内容中,我插入了宏并添加了标题和选定的媒体文件夹...但是,我可以看到宏使用正确的标题和mediaFolderId调用正确的xslt,但参数始终为空! / p>

有什么想法?!请注意,我总是得到这个

<?UMBRACO_MACRO macroalias="GraphicsRowSlider" title="Add Title here" mediaFolderId="1159" />

2 个答案:

答案 0 :(得分:0)

您的输入是一个属性(至少您的xml示例建议这样),因此您的xpath应如下所示:

<xsl:param name="mediaFolderId" select="/macro/@mediaFolderId" />
<xsl:param name="title" select="/macro/@title" />

答案 1 :(得分:0)

您使用的语法表明您使用的是旧的umbraco版本,您正在使用哪一个?

可以在umbraco wiki上找到如何使用宏参数的定义:http://our.umbraco.org/wiki/reference/templates/umbracomacro-element/macro-parameters

HTH