2012-04-04 10 views
0

私はすべてのユーザーが米国版のページに移動するようにサイトのセクションを作成しています。Sitecoreが1つの言語にページを強制します

どのようにして、異なる言語のすべてのユーザーを米国版に送信できますか?私たちはすなわちURLの言語を持っているすべての言語バージョン..

のために、私たちは/ページ名 MX /ページ名 CA /ページ名

答えて

2

う言語のフォールバックはあなたのために、この問題を解決しますか?

  • 項目がバージョン
  • に存在しない場合は、そのデータフィールドをフォールバックします「部分的」言語のフォールバックモジュールを使用し、バック別の言語にフォールフォールバックモジュールを使用して:あなたは2つのオプションがあります別の言語に移入されません。この場合、各ターゲット言語で空の言語バージョンを作成するだけです。

http://trac.sitecore.net/LanguageFallback

0

私は別の(例えば英語)にフォールバック、基本的には特定の言語で値を持たない任意のフィールドを作る言語フォールバックプロバイダーのアイデアが好きです。

別のオプションは、サイトのそのセクションのアイテムを探し、彼らのために英語を解決するためにLanguageResolver近くカスタムHttpRequestパイプラインプロセッサを作成することです:

  1. HttpRequestProcessor
  2. 実装を継承するクラスを作成します。 public override void Process(HttpRequestArgs args)を使用して、サイトのそのセクションにいるかどうかを確認し、そうであればContext.Languageを英語に設定します。

これは単なるアイデアですが、私は試していません。現在のLanguageResolverの動作を確認する場合は、Sitecore.KernelILSpyにデコードし、Sitecore.Pipelines.HttpRequest.LanguageResolver

関連する問題