#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:
Sebastien Ros
2013-05-24 15:57:02 -07:00
parent bc14041c7f
commit 6cbb51787f
2 changed files with 29 additions and 23 deletions

View File

@@ -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>
}
}
}

View File

@@ -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"));
}