Adding command to create a menu item.

Use the command in the default recipe files.
Remove hardcoded home menu item creation from setup.

--HG--
branch : recipe
This commit is contained in:
Suha Can
2011-02-19 10:30:59 -08:00
parent a9bd76cb94
commit 1c7e805031
7 changed files with 43 additions and 8 deletions

View File

@@ -0,0 +1,38 @@
using Orchard.Commands;
using Orchard.ContentManagement;
using Orchard.Core.Navigation.Models;
namespace Orchard.Core.Navigation.Commands {
public class MenuCommands : DefaultOrchardCommandHandler {
private readonly IContentManager _contentManager;
public MenuCommands(IContentManager contentManager) {
_contentManager = contentManager;
}
[OrchardSwitch]
public string MenuPosition { get; set; }
[OrchardSwitch]
public string MenuText { get; set; }
[OrchardSwitch]
public string Url { get; set; }
[OrchardSwitch]
public bool OnMainMenu { get; set; }
[CommandName("menuitem create")]
[CommandHelp("menuitem create /MenuPosition:<position> /MenuText:<text> /Url:<url> [/OnMainMenu:true|false]\r\n\t" + "Creates a new menu item")]
[OrchardSwitches("MenuPosition,MenuText,Url,OnMainMenu")]
public void Create() {
var menuItem = _contentManager.Create("MenuItem");
menuItem.As<MenuPart>().MenuPosition = MenuPosition;
menuItem.As<MenuPart>().MenuText = T(MenuText).ToString();
menuItem.As<MenuPart>().OnMainMenu = OnMainMenu;
menuItem.As<MenuItemPart>().Url = Url;
Context.Output.WriteLine(T("Menu item created successfully.").Text);
}
}
}

View File

@@ -104,6 +104,7 @@
<Compile Include="Contents\Settings\ContentPartSettings.cs" />
<Compile Include="Contents\Shapes.cs" />
<Compile Include="Contents\ViewModels\PublishContentViewModel.cs" />
<Compile Include="Navigation\Commands\MenuCommands.cs" />
<Compile Include="Navigation\Services\MainMenuNavigationProvider.cs" />
<Compile Include="Routable\Events\ISlugEventHandler.cs" />
<Compile Include="Routable\ResourceManifest.cs" />

View File

@@ -89,7 +89,7 @@ Modules are created by other users of Orchard just like you so if you feel up to
_contentManager.Publish(page);
}
Context.Output.WriteLine(T("Page Created successfully.").Text);
Context.Output.WriteLine(T("Page created successfully.").Text);
}
}
}

View File

@@ -45,6 +45,7 @@
<Command>
feature enable Orchard.Experimental.TestingLists
page create /Slug:"welcome-to-orchard" /Title:"Welcome to Orchard!" /Path:"welcome-to-orchard" /Homepage:true /Publish:true /UseWelcomeText:true
menuitem create /MenuPosition:"1" /MenuText:"Home" /Url:"" /OnMainMenu:true
</Command>
<Migration features="*" />

View File

@@ -41,6 +41,7 @@
<Command>
feature enable Orchard.Experimental.TestingLists
page create /Slug:"welcome-to-orchard" /Title:"Welcome to Orchard!" /Path:"welcome-to-orchard" /Homepage:true /Publish:true /UseWelcomeText:true
menuitem create /MenuPosition:"1" /MenuText:"Home" /Url:"" /OnMainMenu:true
</Command>
<Migration features="*" />

View File

@@ -41,6 +41,7 @@
<Command>
feature enable Orchard.Experimental.TestingLists
page create /Slug:"welcome-to-orchard" /Title:"Welcome to Orchard!" /Path:"welcome-to-orchard" /Homepage:true /Publish:true /UseWelcomeText:true
menuitem create /MenuPosition:"1" /MenuText:"Home" /Url:"" /OnMainMenu:true
</Command>
<Migration features="*" />

View File

@@ -270,13 +270,6 @@ namespace Orchard.Setup.Services {
contentManager.Publish(tripelThird);
}
// add a menu item for the shiny new home page
var menuItem = contentManager.Create("MenuItem");
menuItem.As<MenuPart>().MenuPosition = "1";
menuItem.As<MenuPart>().MenuText = T("Home").ToString();
menuItem.As<MenuPart>().OnMainMenu = true;
menuItem.As<MenuItemPart>().Url = "";
//null check: temporary fix for running setup in command line
if (HttpContext.Current != null) {
authenticationService.SignIn(user, true);