2015-11-04 34 views
0

我想在系统中添加语言具有名称NL-NL 但Sitecore的警告错误无法添加使项 - 在名称Sitecore的

An item name cannot contain any of the following characters: 
\/:?"<>|[]- (controlled by the setting InvalidItemNameChars) 

我的网站=>语言“” config文件已

<!-- INVALID CHARS 
      Characters that are invalid in an item name 
     --> 
     <setting name="InvalidItemNameChars" value="\/:?&quot;&lt;&gt;|[]" /> 
     <!-- ITEM NAME VALIDATION 
      Regular expression for validating item names 
     --> 
     <setting name="ItemNameValidation" value="^[\w\*\$][\w\s\-\$]*(\(\d{1,}\)){0,1}$" /> 

我可以在另一个Sitecore的做没有任何错误

我Sitecore的版本相同的情况是:Sitecore.NET 7.2(REV 140526)

+0

您可以从'/ sitecore/admin/showconfig.aspx'中检查您的配置,以确保它没有被其他修补程序文件修补。这是一个相当普遍的设置来改变并包含'-'作为无效字符 – jammykam

+0

@jammykam是的你是对的我可以看到 | [] - “ /> 那么如何删除此 – Jojo

回答

4

正如您正确识别出的错误是由于InvalidItemNameChars设置导致项目名称限制为-。您必须删除此值,然后添加项目,然后重新添加设置。

由于web.config具有默认的Sitecore值,因此设置将使用patch include进行修补,您可以在文件夹或位于其中的一个子文件夹中。检查你的Visual Studio项目,它会给你最好的线索,确切地说哪个文件修改这个值。

该限制很可能与encodeNameReplacement值相结合,以使URL看起来很友善。从长远来看,您可能需要考虑这样一个更好的解决方案:https://jammykam.wordpress.com/2015/07/13/seo-friendly-urls-in-sitecore-prevention-is-better-than-cure/

+0

@Jojo Sitemap XML模块(SitemapXML.config)可能是一个可能的候选人。 –