2014-04-25 43 views
1

我已經爲sitecore項目創建了一個自定義字段,此自定義字段只是在某個特定文件夾下創建了一個名稱指定的新項目。我做它保存(在的onLoad方法適合條件的自定義字段控制):Sitecore 7自動打開從保存的自定義字段創建的項目

if (!Sitecore.Context.ClientPage.IsEvent) 
{ 
    //blah-blah-blah 
} 
else 
{ 
    TemplateItem template = db.GetTemplate(TemplatePath); 
    Item parentItem = db.Items[ItemsRootPath]; 
    var newItem = parentItem.Add("item name", template); 
} 

項目成功創建,但是當我保存父項目(項目包含此自定義字段)內容編輯器會自動打開此項目。

問題是:我如何避免它,並在後臺創建此項目,而不顯示給用戶?

感謝, 一個

+0

你在創建完'newItem'後做了什麼? –

+0

我什麼都不做,只是創建。 –

回答

1

您可以禁用通知,這將阻止新的項目被加載像這樣:

Client.Site.Notifications.Disabled = true; 
TemplateItem template = db.GetTemplate(TemplatePath); 
Item parentItem = db.Items[ItemsRootPath]; 
var newItem = parentItem.Add("item name", template); 
Client.Site.Notifications.Disabled = false; 

我通過增加一個孩子,我是節約,並導致該項目測試了這個在樹中還沒有被更新。我通過在通知啓用後添加此行來解決此問題。

Sitecore.Context.ClientPage.SendMessage(this, string.Format("item:refreshchildren(id={0})", ItemID)); 
+0

謝謝,它幫助! –

相關問題