Работа с несколькими языковыми сайтами в Sitecore 6.2 Я бы хотел, чтобы Sitecore заменил «" (пустое пространство, традиционно замененное на% 20) в URL-адресах дефисом.Оптимизация URL-адресов Sitecore и языки
E.g. www.MySite.com/Hello Мир> www.MySite.com/Hello-World
До сих пор нет проблем, мы просто добавить еще одну запись в encodeNameReplacements
<replace mode="on" find=" " replaceWith="-" />
Тогда, чтобы наши авторы контента от создания предметов с дефисом в их имена (которые Sitecore бы понять, как имеющие место при чтении их URL-адреса, в результате чего 404 Not Found), мы можем добавить дефис в список символов, запрещенных в именах элементов, используя
<setting name="InvalidItemNameChars" value="\/:?"<>|[]-"/>
Все это прекрасно работает - пока я не попытаюсь создать новую определение nguage. Языки в Sitecore могут использовать простой код языка (например, en, da, de и т. Д.) Или код языка и региона (ISO), такие как en-GB, da-DK, de-DE и т. Д. Для наших сайтов нам понадобятся региональные кодексы, поскольку мы намерены поддерживать региональные языковые вариации (например, швейцарский французский и швейцарский немецкий). Но, конечно, теперь я запретил дефис в именах элементов (а языки, как и все остальное в Sitecore, определяются как элементы). Фактически Sitecore требует, чтобы имя языка было правильно сконструировано как идентификатор культуры, поэтому я не могу присвоить языку описательное имя (например, американский английский) кодом iSO, указанным в поле кода ISO шаблона.
Может ли кто-нибудь предложить подходящее решение? Должен ли я удалить дефис из узла InvalidItemNameChars и написать собственный фрагмент кода, который ловушки пытались создать имена переносимых имен i? Если да, как я должен interecpt событие создания?
Я не хочу настраивать интерфейс там, где это не нужно, тем более что я могу беспокоиться, что это может создать проблемы для обновлений версии Sitecore, поэтому, если есть другие решения, я бы хотел их услышать.
Заранее спасибо.
Спасибо, что идеально подходит для нас. –