Sitecore - 标题作为项目名称

Dha*_*777 1 sitecore sitecore6

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

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

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

Mar*_*lak 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;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述