1

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

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

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

4

1 回答 1

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;
}

在此处输入图像描述

于 2013-04-08T09:16:10.783 回答