2014-04-25 35 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

谢谢,它帮助! –

相关问题