したがって、すべての言語の翻訳がまだないため、すべてのユーザーに米国版のページにアクセスしてもらいたいサイトのセクションがあります。
異なる言語のすべてのユーザーを米国版に送信するにはどうすればよいですか? すべての言語バージョンについて、URL に言語があります。
us/ページ名 mx/ページ名 ca/ページ名
言語のフォールバックはこの問題を解決しますか? 次の 2 つのオプションがあります。
基本的に、特定の言語で値を持たないフィールドを別の言語 (英語など) にフォールバックする言語フォールバック プロバイダーのアイデアが気に入っています。
もう 1 つのオプションは、 のHttpRequest
近くにカスタム パイプライン プロセッサを作成LanguageResolver
して、サイトのそのセクションでアイテムを検索し、それらの英語を解決することです。
HttpRequestProcessor
public override void Process(HttpRequestArgs args)
サイトのそのセクションにいるかどうかを確認するコードを実装し、そうであればContext.Language
英語に設定します。これは単なるアイデアであり、私は試していません。LanguageResolver
現在の動作を確認したい場合は、 ILSpySitecore.Kernel
で逆コンパイルして、Sitecore.Pipelines.HttpRequest.LanguageResolver