2

私は最近、「ほぼ」完成したUmbracoビルドを継承しましたが、コンテンツエディターの1人がこの問題に遭遇しました。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>

4

1 に答える 1

1

It looks like you're trying to the call a macro to return true or false from within some XSLT? That won't work, as the syntax that you're using there is for checking a page level variable.

$currentPage/showAccountLogin

The above looks for a page level property called "showAccountLogin", it won't run a Macro with the alias of "ShowAccountLogin". It doesn't look like the code you've posted is the login code anyway. If you'd like some more information on how to code a login with Umbraco, check out this tutorial: Umbraco Membership Templates

If you just want to check if a user is logged in, there is an Umbrcao library method you can call in your XSLT, like this:

<xsl:if test="umbraco.library:IsLoggedOn() = true()">
  I'M LOGGED IN!!!
</xsl:if>
于 2012-10-11T15:07:35.877 に答える