Многосайтовая настройка Sitecore с языковой культурой в URL-адресе

Я хочу настроить решение sitecore, содержащее несколько сайтов. Имена хостов сайтов должны иметь суффикс «язык-культура», поэтому я хочу, чтобы URL-адреса были такими:

[HOST]/de-DE
[HOST]/sv-SE
[HOST]/fr-BE
[HOST]/nl-BE

Я пытался настроить сайты с виртуальными путями типа "de-DE", но это не помогает. Как это должно быть настроено?

И если я хочу, чтобы бельгийский сайт (fr-BE и nl-BE) был одним сайтом с несколькими языками (переводами), но доступным по заданной структуре URL, как это настроить?


person staccata    schedule 12.05.2017    source источник


Ответы (1)


Возможно, вам повезет получить ответы на https://sitecore.stackexchange.com/, однако я отвечу здесь, так как не могу чтобы перенести ваш вопрос.

Мне кажется, вам нужно сочетание как отдельных узлов веб-сайта для каждого сайта, так и переведенных версий на некоторых из этих сайтов (fr-BE и nl-BE).

Если определения сайтов исправлены перед узлом веб-сайта, они должны быть получены распознавателем сайтов Sitecore на основе виртуальной папки. Обратите внимание, что при использовании виртуальных папок существует особое требование, в котором значение PhysicalFolder должно совпадать. Подробнее об этом здесь.

<site name="fr-BE" ... virtualFolder="/fr-BE" physicalFolder="/fr-BE" rootPath="/sitecore/content" startItem="/Home Belgium" language="fr-BE" ... />
<site name="nl-BE" ... virtualFolder="/nl-BE" physicalFolder="/nl-BE" rootPath="/sitecore/content" startItem="/Home Belgium" language="nl-BE" ... />
<site name="de-DE" ... virtualFolder="/de-DE" physicalFolder="/de-DE" rootPath="/sitecore/content" startItem="/Home Germany" language="de-DE" ... />
<site name="website" ... virtualFolder="/" rootPath="/sitecore/content" startItem="/Home" ... />

Обратите внимание, как первые два определения сайта указывают на один и тот же начальный элемент (в моем примере — /Home Belgium). Это позволяет вам по-прежнему использовать перевод языковой версии Sitecore на этом сайте, сохраняя при этом древовидную структуру элементов отдельно от немецкого сайта.

Далее вам нужно будет отключить обработчик языка полосы, который отвечает за идентификацию и удаление языкового префикса из каждого запроса. Это включено по умолчанию и не позволит вам использовать виртуальные папки, соответствующие языковому коду.

<!-- Set to false to allow language code virtual folders -->
<setting name="Languages.AlwaysStripLanguage" value="false" />

Наконец, убедитесь, что у вас установлены правильные языки и что ваш контент публикуется на соответствующих языках.

person Derek Hunziker    schedule 12.05.2017