mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Merge
--HG-- branch : dev
This commit is contained in:
@@ -27,6 +27,7 @@ namespace Orchard.Core.Contents {
|
|||||||
var contentTypes = contentTypeDefinitions.Where(ctd => ctd.Settings.GetModel<ContentTypeSettings>().Creatable).OrderBy(ctd => ctd.DisplayName);
|
var contentTypes = contentTypeDefinitions.Where(ctd => ctd.Settings.GetModel<ContentTypeSettings>().Creatable).OrderBy(ctd => ctd.DisplayName);
|
||||||
if (contentTypes.Count() > 0) {
|
if (contentTypes.Count() > 0) {
|
||||||
builder.Add(T("New"), "-1", menu => {
|
builder.Add(T("New"), "-1", menu => {
|
||||||
|
menu.LinkToFirstChild(false);
|
||||||
foreach (var contentTypeDefinition in contentTypes) {
|
foreach (var contentTypeDefinition in contentTypes) {
|
||||||
var ci = _contentManager.New(contentTypeDefinition.Name);
|
var ci = _contentManager.New(contentTypeDefinition.Name);
|
||||||
var cim = _contentManager.GetItemMetadata(ci);
|
var cim = _contentManager.GetItemMetadata(ci);
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
var firstOfTheSecond = secondLevelMenuItems.FirstOrDefault();
|
var firstOfTheSecond = secondLevelMenuItems.FirstOrDefault();
|
||||||
var sectionHeaderMarkup = firstLevelMenuItem.RouteValues != null || HasText(firstLevelMenuItem.Url)
|
var sectionHeaderMarkup = firstLevelMenuItem.RouteValues != null || HasText(firstLevelMenuItem.Url)
|
||||||
? Html.Link(sectionHeaderText, (string)firstLevelMenuItem.Href)
|
? Html.Link(sectionHeaderText, (string)firstLevelMenuItem.Href)
|
||||||
: firstOfTheSecond != null
|
: firstOfTheSecond != null && firstLevelMenuItem.LinkToFirstChild
|
||||||
? Html.Link(sectionHeaderText, (string)firstOfTheSecond.Href)
|
? Html.Link(sectionHeaderText, (string)firstOfTheSecond.Href)
|
||||||
: new HtmlString(string.Format("<span>{0}</span>", Html.Encode(sectionHeaderText)));
|
: new HtmlString(string.Format("<span>{0}</span>", Html.Encode(sectionHeaderText)));
|
||||||
|
|
||||||
|
@@ -41,6 +41,7 @@ namespace Orchard.UI.Navigation {
|
|||||||
var menuItemShape = shapeFactory.MenuItem()
|
var menuItemShape = shapeFactory.MenuItem()
|
||||||
.Text(menuItem.Text)
|
.Text(menuItem.Text)
|
||||||
.Href(menuItem.Href)
|
.Href(menuItem.Href)
|
||||||
|
.LinkToFirstChild(menuItem.LinkToFirstChild)
|
||||||
.RouteValues(menuItem.RouteValues)
|
.RouteValues(menuItem.RouteValues)
|
||||||
.Item(menuItem)
|
.Item(menuItem)
|
||||||
.Menu(menu)
|
.Menu(menu)
|
||||||
|
@@ -7,12 +7,14 @@ namespace Orchard.UI.Navigation {
|
|||||||
public class MenuItem {
|
public class MenuItem {
|
||||||
public MenuItem() {
|
public MenuItem() {
|
||||||
Permissions = Enumerable.Empty<Permission>();
|
Permissions = Enumerable.Empty<Permission>();
|
||||||
|
LinkToFirstChild = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Text { get; set; }
|
public string Text { get; set; }
|
||||||
public string Url { get; set; }
|
public string Url { get; set; }
|
||||||
public string Href { get; set; }
|
public string Href { get; set; }
|
||||||
public string Position { get; set; }
|
public string Position { get; set; }
|
||||||
|
public bool LinkToFirstChild { get; set; }
|
||||||
public RouteValueDictionary RouteValues { get; set; }
|
public RouteValueDictionary RouteValues { get; set; }
|
||||||
public IEnumerable<MenuItem> Items { get; set; }
|
public IEnumerable<MenuItem> Items { get; set; }
|
||||||
public IEnumerable<Permission> Permissions { get; set; }
|
public IEnumerable<Permission> Permissions { get; set; }
|
||||||
|
@@ -28,6 +28,11 @@ namespace Orchard.UI.Navigation {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public NavigationItemBuilder LinkToFirstChild(bool value) {
|
||||||
|
_item.LinkToFirstChild = value;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public NavigationItemBuilder Permission(Permission permission) {
|
public NavigationItemBuilder Permission(Permission permission) {
|
||||||
_item.Permissions = _item.Permissions.Concat(new[]{permission});
|
_item.Permissions = _item.Permissions.Concat(new[]{permission});
|
||||||
return this;
|
return this;
|
||||||
|
@@ -73,6 +73,7 @@ namespace Orchard.UI.Navigation {
|
|||||||
RouteValues = item.RouteValues,
|
RouteValues = item.RouteValues,
|
||||||
Text = item.Text,
|
Text = item.Text,
|
||||||
Url = item.Url,
|
Url = item.Url,
|
||||||
|
LinkToFirstChild = item.LinkToFirstChild,
|
||||||
Href = item.Href
|
Href = item.Href
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -106,6 +107,7 @@ namespace Orchard.UI.Navigation {
|
|||||||
Text = items.First().Text,
|
Text = items.First().Text,
|
||||||
Url = items.First().Url,
|
Url = items.First().Url,
|
||||||
Href = items.First().Href,
|
Href = items.First().Href,
|
||||||
|
LinkToFirstChild = items.First().LinkToFirstChild,
|
||||||
RouteValues = items.First().RouteValues,
|
RouteValues = items.First().RouteValues,
|
||||||
Items = Merge(items.Select(x => x.Items)).ToArray(),
|
Items = Merge(items.Select(x => x.Items)).ToArray(),
|
||||||
Position = SelectBestPositionValue(items.Select(x => x.Position)),
|
Position = SelectBestPositionValue(items.Select(x => x.Position)),
|
||||||
|
Reference in New Issue
Block a user