2012-03-31 11 views
1

これは私を完全に狂ってしまうのです!Umbracoの剃刀マクロの動的なプロパティまたはパラメータが機能しない

私はこれまでにこれをやったことがあります。それはうまくいくはずですが、それは簡単であるはずです。

私はこの

@inherits umbraco.MacroEngines.DynamicNodeContext 
@{ 
    string ParameterName = Parameter.Name; 
    <span>@ParameterName</span> 
} 

のように、ページ上でマクロを作成しました:

に成功
<umbraco:macro Alias="MasterpageParameter" language="cshtml" runat="server" Name="logoText"></umbraco:macro> 

マクロのレジスタを(私は、画面上とthise内の他のデータを印刷することができますので、大文字小文字が印刷されていることがわかりますが、パラメータは常に空です。小文字やその他の名前(Param1 Param2など)を試してみました。パラメータは常に空です。

私は別のプロジェクトで同じことをしてからうまくいくと確信しています。 このマクロの動作を停止させているものが見つからないことがあります。

DocumentTypeに「IsReadable」というプロパティを追加すると、前のプロジェクトで以前に行ったことがページをループしてif(item.IsReadable)などのように表示されることがさらに悪化します。同じバージョンのUmbraco ALL動的変数は空です。ここでは何かが真剣に間違っているように見えますが、私はそれを修正する方法がわかりません。

すべてのヘルプしてください:

私は(1.0.4393.24044アセンブリバージョン)umbracoのV 4.7.1.1を使用していますか?

+0

を渡された値を使用してXSLTで、ユーザーにそれを? –

+0

Umbraco 4.7.1(忘れてしまって) – Nick

答えて

1

私はこれらを加えることによってそれを解決:

@using umbraco; 
@using System; 
@using System.Collections.Generic; 
@using umbraco.MacroEngines; 

は、おそらく唯一のいくつかのそれらのが必要とされているが、私は見つけるために困っていません。 MacroEnginesだけでは足りません。

これは前のプロジェクトでは奇妙な原因ですが、これらは必要ありません。おそらく、このプロジェクトのweb.configなどで正しく参照されていない可能性があります。とにかくそれは私があなたのテンプレートでは

2

CMS内のマクロ定義でパラメータを定義していないようです。この場合、 'MasterpageParameter'マクロの 'Parameters'タブに表示されます。

+0

私はそれを持っていました。私はそれを解決することができました... – Nick

0

嬉しい機能するようになりましたかWebフォームに

「情報でarticleIDは」あなたが欲しいのパラメータである
<umbraco:macro ID="Macro1" Alias="YourMacro" runat="server" ArticleId="223"></umbraco:macro> 

を使用している場合、あなたがこのよう

@Umbraco.RenderMacro("YourMacro" ,new {ArticleId = @Umbraco.Field("yourField")}) 

マクロを呼び出す見ます合格する。次に、開発者セクションのマクロのパラメータリストにパラメータ「ArticleId」を追加してください。その後、あなたのXSLTリファレンスのその後

ので

<xsl:param name="ArticleId" select="/macro/ArticleId"/> 

などのパラメータそして、あなたはできますが、どのバージョンを使用しているインスタンスの

<xsl:value-of select="$ArticleId" /> 
関連する問題