2017-09-14 5 views
0

私は、カスタムツリーを持つカスタムセクションを持っています。Umbraco 7 - カスタムメニューのアイテムとツリー、ナビゲーションはどのように機能しますか?

私はあなたが正しいときの動作を設定する方法を理解トラブルのビットを持っている:

あなたはそれを編集するために、あなたのツリー内のノードをクリックします。 "Create"のようなノード上のメニュー項目をクリックします 私のソリューションでは、同じビューを使用してレコードを編集および作成しています。

私のツリーではこれがノードの生成方法です。

var routeToView = "rewards/rewardsTree/editcampaign/campaign-" + campaign.Id.ToString(); 

var campaignNode = CreateTreeNode("campaign-" + campaign.Id.ToString(), id.Split('-')[1], queryStrings, campaign.CampaignName, "icon-folder color-yellow", true, routeToView); 

この

は、私が欲しいのルート生産されています(私のhtmlファイルの名前ですeditcampaign.html)を、それも通過している「キャンペーン-6」ユーザーが作成をクリック

/umbraco#/rewards/rewardsTree/editcampaign/campaign-6 

ノードの「メニューアイテム」 - 私は同じURLに送信したいが、ちょうど例えば切り抜いたIDを持つ:

umbraco#/rewards/rewardsTree/editcampaign/brand-1 

と私はそれが側

の外にポップアップ表示したくありません

これは私がこれまでにしようとしているものです:

//This finds the view, but it comes up in a dialog also how do I pass the Id (brand-1) 
    MenuItem mi = new MenuItem("editcampaign", "Create Campaign"); 
        menuItemCollection.Items.Add(mi); 

//Also Tried this finds puts a whole another umbraco UI inside a dialog 

mi.LaunchDialogView("#rewards/rewardsTree/editcampaign/brand-1", "TITLE GOES HERE"); 

を誰もが最大限メニューの木々のドキュメントや一般的なバックオフィスの周りのナビゲーションに私を指すことができますか?

答えて

0

「作成」メニュー項目にビューパスを設定するオプションがあると思うので、それは正常に開きますか?また、/ view/path/here/idのようなあなたのパスを持つ方が理にかなっていませんか?次に、新しい項目を作成するときには、idとして0を送信します。 Umbrangular on Githubは、カスタムセクションとビューの素晴らしい例があるプロジェクトです。

編集:ここでは例が

protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings) 
{ 
    var menu = new MenuItemCollection(); 

    MenuItem createCategory = new MenuItem("createcategory", "Create Category"); 

    createCategory.AdditionalData.Add("ParentCategoryId", id); 

    createCategory.NavigateToRoute("/path/to/view/category/0"); 

    createCategory.Icon = "add"; 

    menu.Items.Add(createCategory); 

    return menu; 
} 
です
関連する問題