Umbraco Macro表单不尊重选择

时间:2012-10-11 14:28:57

标签: xslt umbraco

我最近继承了'近乎'完成的Umbraco构建,我们的一位内容编辑遇到了这个问题。 CMS有一个宏,用于显示用户帐户登录的链接,只需一个复选框即可在前端显示或隐藏此宏。

但是,无论用户做出何种选择,该块始终显示在页面上。

我对Umbraco来说是全新的,所以请善待。 我的前任已经为宏编写了xslt文件,如下所示。 我的第一个想法是$ currentPage / showAccountLogin是错误的,但我不知道以什么方式。

<xsl:param name="currentPage"/>

<xsl:template match="/">

<xsl:if test="$currentPage/showAccountLogin=true()">
<div class="related-content">
  <h3>Login to your account</h3>
  <ul><li>Access your account or retrieve<br />your login details<br /><a href="#">Go to your account <img src="/images/external.gif" alt="External Link (Opens in new window)" /></a></li></ul>
</div>

1 个答案:

答案 0 :(得分:1)

看起来你正试图调用一个宏来从一些XSLT中返回true或false?这不起作用,因为您在那里使用的语法用于检查页面级变量。

$当前页/ showAccountLogin

上面查找名为“showAccountLogin”的页面级属性,它不会运行别名为“ShowAccountLogin”的宏。无论如何,您发布的代码看起来都不是登录代码。如果您想了解有关如何使用Umbraco编写登录代码的更多信息,请查看本教程:Umbraco Membership Templates

如果您只想检查用户是否已登录,则可以在XSLT中调用Umbrcao库方法,如下所示:

<xsl:if test="umbraco.library:IsLoggedOn() = true()">
  I'M LOGGED IN!!!
</xsl:if>