mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-27 04:19:04 +08:00
Implemented level-based alternates for MenuItem and MenuItemLink.
This commit is contained in:
@@ -95,7 +95,11 @@ namespace Orchard.Core.Shapes {
|
||||
.OnDisplaying(displaying => {
|
||||
var menuItem = displaying.Shape;
|
||||
var menu = menuItem.Menu;
|
||||
int level = menuItem.Level;
|
||||
|
||||
menuItem.Metadata.Alternates.Add("MenuItem__level__" + level);
|
||||
menuItem.Metadata.Alternates.Add("MenuItem__" + EncodeAlternateElement(menu.MenuName));
|
||||
menuItem.Metadata.Alternates.Add("MenuItem__" + EncodeAlternateElement(menu.MenuName) + "__level__" + level);
|
||||
});
|
||||
|
||||
builder.Describe("MenuItemLink")
|
||||
@@ -103,23 +107,31 @@ namespace Orchard.Core.Shapes {
|
||||
var menuItem = displaying.Shape;
|
||||
string menuName = menuItem.Menu.MenuName;
|
||||
string contentType = null;
|
||||
int level = menuItem.Level;
|
||||
if (menuItem.Content != null) {
|
||||
contentType = ((IContent) menuItem.Content).ContentItem.ContentType;
|
||||
}
|
||||
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__level__" + level);
|
||||
|
||||
// MenuItemLink__[ContentType] e.g. MenuItemLink-HtmlMenuItem
|
||||
// MenuItemLink__[ContentType]__level__[level] e.g. MenuItemLink-HtmlMenuItem-level-2
|
||||
if (contentType != null) {
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__" + EncodeAlternateElement(contentType));
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__" + EncodeAlternateElement(contentType) + "__level__" + level);
|
||||
}
|
||||
|
||||
// MenuItemLink__[MenuName] e.g. MenuItemLink-Main-Menu
|
||||
// MenuItemLink__[MenuName]__level__[level] e.g. MenuItemLink-Main-Menu-level-2
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__" + EncodeAlternateElement(menuName));
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__" + EncodeAlternateElement(menuName) + "__level__" + level);
|
||||
|
||||
// MenuItemLink__[MenuName]__[ContentType] e.g. MenuItemLink-Main-Menu-HtmlMenuItem
|
||||
// MenuItemLink__[MenuName]__[ContentType] e.g. MenuItemLink-Main-Menu-HtmlMenuItem-level-2
|
||||
if (contentType != null) {
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__" + EncodeAlternateElement(menuName) + "__" + EncodeAlternateElement(contentType));
|
||||
menuItem.Metadata.Alternates.Add("MenuItemLink__" + EncodeAlternateElement(menuName) + "__" + EncodeAlternateElement(contentType) + "__level__" + level);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
builder.Describe("LocalMenu")
|
||||
|
||||
Reference in New Issue
Block a user