Umbraco に関する非常に単純な質問だと思いますが、まだ明確な答えはありません。
@表示変数といくつかのインラインC#コードを備えた、標準的なかみそりテンプレートがあります。
私が使用するテンプレートのある時点で:
@Umbraco.RenderMacro("myCustomMacro");
そこに問題はありません。すべてが期待どおりに機能します。
現在、このマクロはすべてのページに挿入されています (マスター テンプレートにあります) が、コンテンツ作成者がページ プロパティのチェック ボックスを介してオンとオフを切り替えることができるページ プロパティがあります。 .
ただし、特定の「ドキュメントタイプ」に対してこのコンポーネントを表示する必要があることがわかったので、そのチェックを実行する方法を見つけようとしています。
今、私の考えでは、これは次のようなことをするのと同じくらい簡単なはずです:
@{
if(CurrentPage.documentType == "someDocTypeAliasHere")
{
//Render the macro
}
else
{
// Render the macro only if the tick box is checked
}
}
私が言うように、これは非常に単純な操作ですが (またはとにかくそうあるべきだと思います)、これまでのところ結果が得られていないようです。
これまでに何を試しましたか?
カミソリと@CurrentPage変数に関係することについて言及しているour-umbracoのすべてのページを読むことは別にして、私はカミソリのプロパティチートシートを調べて、最も一般的なプロパティと思われるものを試しました。注文):
@CurrentPage.NodeTypeAlias
@CurrentPage.NodeType
@CurrentPage.ContentType
@CurrentPage.DocumentType
そして、それらのさまざまなレターケースの組み合わせに加えて、法案に合うように見える他のいくつかのもの.
プロパティは一貫して存在しないか空であるため、結果を判断するのに役立つ情報がありません。
それで、数日ぐるぐる回ってどこにも行かなかった後、私はここにいることに気づきました..
(注: これは、XSLT の質問を検索したり、子コレクションを反復したりするものではありません。そのため、XSLT、マクロ、ページ テンプレートなどを投稿する要求は拒否されます。私がする必要があるのは、レンダリングされている現在のページのドキュメント タイプを判別する方法。)
乾杯
ショーティ
PS:言及するのを忘れました、私は使用しています
umbraco v 4.11.8 (アセンブリ バージョン: 1.0.4869.17899)
誰かが尋ねた場合に備えて。