将项目动态添加到 Sitecore - 项目名称必须满足模式
Dynamically adding item to Sitecore - item name must satisfy the pattern
我的模式其实是:
^[\w\*$][\w\s\-$]*(\(\d{1,}\)){0,1}$
编辑 - 为清楚起见,我的代码中没有写入此模式,但我收到一个错误提示 "name does not satisfy pattern ^[\w*$][\w\s-$]*((\d{1,})){0,1}$"。我认为这是 Sitecore 设置?不知道哪里确定的,也不是我自己写的
我正在尝试将文章动态添加到 Sitecore,但我遇到了名称中包含句点的项目的问题。我添加了一个函数来清理名称(从另一个 Sitecore 问题借来的,它被发布为我的问题的答案),但它不起作用。这是我的代码:
var itemTemplateId = _templateFactory.GetTemplateId<IPressReleaseItem>();
TemplateID pressReleaseTemplateId = new TemplateID(itemTemplateId.ToID());
item = folder.Add(SanitizeHeadline(release.Headline), pressReleaseTemplateId);
private string SanitizeHeadline(string name)
{
char[] invalidCharacters = Sitecore.Configuration.Settings.InvalidItemNameChars;
string sanitizedName = string.Concat(name.Trim().Split(invalidCharacters));
return sanitizedName;
}
我的物品名称是"VirtualInvestorConferences.com Celebrates 75th Event Encouraging Direct Dialog Between CEOs and Shareholders"
我应该手动添加“.”吗?到无效字符列表?我想了解为什么这不起作用。
最好使用 ItemUtil.ProposeValidItemName(name)
清除新项目名称中的无效字符。
我的模式其实是:
^[\w\*$][\w\s\-$]*(\(\d{1,}\)){0,1}$
编辑 - 为清楚起见,我的代码中没有写入此模式,但我收到一个错误提示 "name does not satisfy pattern ^[\w*$][\w\s-$]*((\d{1,})){0,1}$"。我认为这是 Sitecore 设置?不知道哪里确定的,也不是我自己写的
我正在尝试将文章动态添加到 Sitecore,但我遇到了名称中包含句点的项目的问题。我添加了一个函数来清理名称(从另一个 Sitecore 问题借来的,它被发布为我的问题的答案),但它不起作用。这是我的代码:
var itemTemplateId = _templateFactory.GetTemplateId<IPressReleaseItem>();
TemplateID pressReleaseTemplateId = new TemplateID(itemTemplateId.ToID());
item = folder.Add(SanitizeHeadline(release.Headline), pressReleaseTemplateId);
private string SanitizeHeadline(string name)
{
char[] invalidCharacters = Sitecore.Configuration.Settings.InvalidItemNameChars;
string sanitizedName = string.Concat(name.Trim().Split(invalidCharacters));
return sanitizedName;
}
我的物品名称是"VirtualInvestorConferences.com Celebrates 75th Event Encouraging Direct Dialog Between CEOs and Shareholders"
我应该手动添加“.”吗?到无效字符列表?我想了解为什么这不起作用。
最好使用 ItemUtil.ProposeValidItemName(name)
清除新项目名称中的无效字符。