メニュー項目をメイン メニューに正常に追加する次のコードがあります。
問題は、独自のコンテンツの編集をユーザーに許可すると、ユーザーはこのメニュー項目を表示できないことです。サイト所有者のアクセス許可を付与した場合にのみ、ユーザーはそれを見ることができます。
どうしたの?自分のコンテンツを編集する権限をユーザーに与えるべきではないでしょうか?
using System.Web;
using System.Linq;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Aspects;
using Orchard.Core.Navigation.Models; // this doesn't resolve properly but still builds
using Orchard.Localization;
using Orchard.UI.Navigation;
using Orchard.Mvc.Routes;
using System.Collections.Generic;
using Orchard.Security.Permissions;
namespace BigFont.DealerDashboard.Services
{
public class DealerDashboardMenuProvider : IMenuProvider
{
private readonly IContentManager _contentManager;
public Localizer T { get; set; }
public DealerDashboardMenuProvider(
IContentManager contentManager)
{
_contentManager = contentManager;
T = NullLocalizer.Instance;
}
public void GetMenu(IContent menu, NavigationBuilder builder)
{
builder.Add(T("Dealers"), "2", subMenu => subMenu
.Url("~/Dealers")
.Permission(Orchard.Core.Contents.Permissions.EditOwnContent)
);
}
}
}