2016-12-14 6 views
0

Я пытаюсь использовать название кода культуры («fr, lb, ru») в качестве дочернего сайта в sitecore www.mydomain.com/ru, сайт работает нормально, но контент не является показываетсяКак использовать название кода в качестве дочернего сайта в sitecore

давая это сообщение

«текущий элемент не имеет версии в„русском языке:“. Чтобы создать версию, нажмите кнопку Добавить новую версию или нажмите кнопку Добавить на вкладке Versions.» русский

моя конфигурация сайт

Пожалуйста, помогите мне использовать "ру, пт, сб, фунт" в качестве имен Subsite в Sitecore.

Спасибо.

+0

вы можете показать, какие конфигурации сайта? –

ответ

1

Если вы не хотите Sitecore интерпретировать первую часть URL, как код языка и вместо того, чтобы разрешить к элементу в дереве контента, то вы можете изменить следующие параметры:

<setting name="Languages.AlwaysStripLanguage" value="false" /> 

Это предотвращает Обработчик StripLanguage в конвейере preprocessRequest от удаления языка из пути и перезаписи URL-адреса.

Вы также должны обновить настройки LinkProvider и установить languageEmbedding=false.

Вы можете прочитать более подробную информацию в этом блоге: Prevent the Sitecore ASP.NET CMS from Interpreting URL Path Prefixes as Language Names

+0

Спасибо, приятель, это сработало, что, если хотите использовать несколько языков в микросайтах, каково было бы решение? например www.mydomain.com/ru/home -> english www.mydomain.com/ru/home -> russian –

+0

Оба этих URL одинаковы, как вы различаете разные языки? Возможно, я сделал что-то подобное раньше, лучше поднять его как отдельный вопрос с конкретными требованиями, которые у вас есть. – jammykam

0

Я думаю, проблема в том, что обработчик конвейера LanguageResolver ожидает, что часть языка URL-адреса будет соответствовать полному языковому имени. Поэтому в вашем случае ожидалось бы www.mydomain.com/ru-RU. Достаточно просто создать собственный язык, наследуемый от Sitecore, который находится в Sitecore.Kernel.dll. Элемент конфигурации является

<processor type="Sitecore.Pipelines.HttpRequest.LanguageResolver, Sitecore.Kernel"/> 

, которые вам нужно будет латать ссылаться на свой новый класс. Ваш новый класс переопределит метод Process.

 Смежные вопросы

  • Нет связанных вопросов^_^