2013-04-08 59 views
1

我们通过Sitecore API使用自定义用户界面以编程方式存储Sitecore商品。Sitecore - 标题作为商品名称

由于Sitecore不允许有重复的名称,并且Sitecore不允许某些字符包含在项目名称中,因此我们决定将时钟滴答作为项目名称存储。但对于内容编辑人员来说这不是用户友好的。这些URL也不是搜索引擎优化的(因为它不是人类可读的)。

解决此问题的建议方法是什么?如果我们要将项目的“标题”作为项目名称存储,我们如何处理重复名称?

回答

6

您应该使用DisplayName用于存储标题和消毒的版本,其作为Name

string title = "Name with [email protected] characters!"; 

// remove incorrect characters and add postfix if necessary to make it unique 
string itemName = Sitecore.Data.Items.ItemUtil.GetUniqueName(parentItem, 
    Sitecore.Data.Items.ItemUtil.ProposeValidItemName(title)); 

Item item = parentItem.Add(itemName, template); 

using (new EditContext(item)) 
{ 
    item.Fields[FieldIDs.DisplayName].Value = title; 
} 

enter image description here