Sitecore - 标题作为项目名称

时间:2013-04-08 09:12:19

标签: sitecore sitecore6

我们使用自定义用户界面通过Sitecore API以编程方式存储Sitecore项目。

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

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

1 个答案:

答案 0 :(得分:6)

您应该使用DisplayName将其标题和已清理版本存储为Name

string title = "Name with $tr@nge 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