OrchardCmsサイトでは、階層化メニューを作成して、メニュー項目をユーザー役割別に表示したり非表示にしたりする必要があります。これにアプローチする最善の方法は何ですか?
1つの可能な方法は、レイヤールールがそれぞれの役割を果たしている別のレイヤーに関する2つのメニューを作成して管理することです。しかし、これは理想的ではない2つのメニューを管理することを意味します。各メニューの多くの項目を複製する必要があります。
別の方法は、カスタムメニューパートを作成することです。ここの欠点は、それが過度のように思われることです。
それとも、私は間違ったトラックを完全にしていますが、代わりに役割別にコンテンツアイテムをフィルタリングしたいのですか?このシナリオでは、まだメニューフィルタを指定する方法が必要だと思います。
この簡単なPCGを使用して、複数のメニューをロールでフィルタリングしてレイヤーで作成することができました。 RoleLayerモジュール。あなたはまだ別のメニューを作る必要があります、そして、アクセス権を変更しない限り、それはURLアクセスを制限しません。
モジュールを有効にしたら、ロールのルールを作成できます。例えば、
role("Administrator")
そのレイヤーは管理者ロールを持つユーザーだけが見ることができます。