
このシナリオに遭ったことがありますか?
- Sitecore CM/CDが別のサーバーにあります。
- 開発者は、ブラウザでエラーが表示されているCDサーバーにアクセスできません。
- CMとCDのコードベースは同じです。
- 開発者は、CMでデータベースをマスターからウェブに切り替え、ページをプレビューしましたが、ページにもログにもエラーは表示されませんでした。
- クライアントは、問題を調査するために開発者にアクセスできるようになるまで待たなければなりません。
より良い方法があればどうでしょうか?
1.この問題を再現するにはどうすればいいか?
Sitecore Extensionsをダウンロードしてインストールすることをお勧めしますが、この問題を再現するためには必須ではありません。
- このリンクをクリックして、下までスクロールすると、インストールするブラウザに応じたZIPファイルがダウンロードできます。
Sitecore Extensionsがインストールされたので、以下の変更を行ってみましょう。
- 「モジュール(Modules )」→「データベースカラー」へ遷移
- 「カラーマッピング(Color Mapping)」タブをクリックするとデータベース名と色の追加が始まります。
- 「/sitecore/content/home」に移動します。
・マスターデータベースの下
・タイトルフィールドの値を “Inside Master “に変更します。
・Webデータベースの下で
・タイトルフィールドの値を “Inside Web “に変更します。
・以下のスクリーンショットは、Sitecoreのデータベースを変更するための場所を
しています。
- マスターデータベースの下にある「パブリッシュ」→「エクスペリエンスエディタ」をクリックすると、以下のように表示されます。
- Web データベースに切り替えて、Web データベースの下にある [公開] > [エクスペリエンス エディタ] をクリックすると、まったく同じものが表示されます。 さて、この問題を解決するにはどうしたらよいでしょうか。
2.プレビューにマスターコンテンツではなく、Webコンテンツを表示させるにはどうしたらいいか?
この問題を解決するには2つの方法があります。
1.プレビューモード(マスターまたはウェブ)で以下のURLパラメータを追加します。
- &sc_database=web
- これで、以下のようになります。
2. 以下のパッチを使用して、defaultContentDatabaseNameの値を “master “から「web」に変更してください。
- 常に最初のオプションを選択し、最初のオプションが正しく動作しない場合にのみこのオプションを使用してください。 このオプションは、最初のオプションが正しく動作しない場合にのみ使用してください。プレビューを確認した後は、他の問題を起こさないように、すぐに元に戻してください。
- defaultContentDatabaseNameは、シェルサイトがコンテンツの表示に使用するデータベースを決定するために使用するSitecoreのグローバル変数です。
Content Patch
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<sc.variable name="defaultContentDatabaseName" value="web"/>
</sitecore>
</configuration>