mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
#19457: Allowing draft elements to be added to the navigation
If the resulting MenuItemLink is empty, don't display it in the navigation Work Item: 19457 --HG-- branch : 1.x
This commit is contained in:
@@ -3,29 +3,35 @@
|
||||
var items = Enumerable.Cast<dynamic>((System.Collections.IEnumerable)Model);
|
||||
}
|
||||
@{
|
||||
if (!HasText(Model.Text)) {
|
||||
@DisplayChildren(Model)
|
||||
} else {
|
||||
if((bool)Model.Selected) {
|
||||
Model.Classes.Add("current");
|
||||
}
|
||||
|
||||
if(items.Any()) {
|
||||
Model.Classes.Add("dropdown");
|
||||
}
|
||||
var tag = Tag(Model, "li");
|
||||
@tag.StartElement
|
||||
|
||||
@* morphing the shape to keep Model untouched*@
|
||||
Model.Metadata.Alternates.Clear();
|
||||
Model.Metadata.Type = "MenuItemLink";
|
||||
@Display(Model)
|
||||
|
||||
if (items.Any()) {
|
||||
<ul>
|
||||
if (!HasText(Model.Text)) {
|
||||
@DisplayChildren(Model)
|
||||
</ul>
|
||||
}
|
||||
@tag.EndElement
|
||||
else {
|
||||
if ((bool) Model.Selected) {
|
||||
Model.Classes.Add("current");
|
||||
}
|
||||
|
||||
if (items.Any()) {
|
||||
Model.Classes.Add("dropdown");
|
||||
}
|
||||
|
||||
@* morphing the shape to keep Model untouched*@
|
||||
Model.Metadata.Alternates.Clear();
|
||||
Model.Metadata.Type = "MenuItemLink";
|
||||
|
||||
@* render the menu item only if it has some content *@
|
||||
var renderedMenuItemLink = Display(Model);
|
||||
if (HasText(renderedMenuItemLink)) {
|
||||
var tag = Tag(Model, "li");
|
||||
@tag.StartElement
|
||||
@renderedMenuItemLink
|
||||
@tag.EndElement
|
||||
}
|
||||
|
||||
if (items.Any()) {
|
||||
<ul>
|
||||
@DisplayChildren(Model)
|
||||
</ul>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ namespace Orchard.ContentPicker.Drivers {
|
||||
var model = new ContentMenuItemEditViewModel();
|
||||
|
||||
if(updater.TryUpdateModel(model, Prefix, null, null)) {
|
||||
var contentItem = _contentManager.Get(model.ContentItemId);
|
||||
var contentItem = _contentManager.Get(model.ContentItemId, VersionOptions.Latest);
|
||||
if(contentItem == null) {
|
||||
updater.AddModelError("ContentItemId", T("You must select a Content Item"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user