コンテンツエディターのプレビュータブでプレビューしたときに使用されるプレゼンテーション用のデバイスは何でしょうか

samatsu 6/3/2016 1251 N/A Sitecore XP

普段何気なく使っていた、コンテンツエディターのプレビュータブを使用したプレビューについてのチップス情報です。結論から記載すると、コンテンツエディターのプレビュータブでプレビューする場合、使用するプレゼンテーション用のデバイスのアイテムは、/sitecore/layout/Device の配下の一番上(先頭)のアイテムが利用されます。

この動きを調べるきっかけになったのが、コンテンツエディターのプレゼンテーションタブ > プレビュー でプレビューできないという事例でした。

プレビュータブでプレビューするとなぜか iPhoneデバイスのデバイスシミュレーター画面が表示されます。iPhoneの画像の中に何も描画されませんでした。

そもそも、プレゼンテーションタブでデバイスシミュレーターは動かないのでおかしいなぁとおもって調べてみたら、デバイスアイテムの定義順が原因であることが分かりました。

Sitecoreではプレゼンテーション用のデバイスを /sitecore/layout/Device アイテム配下に作成するのですが、一番先頭のアイテムが iPhone 用のデバイスの定義アイテムになっていました。しかも iPhoneデバイス定義アイテムの"デフォルトシミュレーター"フィールドにiPhoneが設定されていました。

調べて気づいたのですが、コンテンツエディターのプレビュータブで行うプレビューは、デバイスの一番先頭(一番上)のデバイスアイテムを使ってプレビューするようになっています。本格的なプレビューはエクスペリエンスエディターで行えばよいのでデバイスを選択できる機能を持つほどリッチである必要はないと思うのでとくにこの動きに問題はないと思います。残念ながら、今回はこの動作が原因でプレビュータブでプレビューしようとすると iPhone デバイスシミュレーターを使用してプレビューしようとするためデバイスシミュレーターが動作せずプレビューできませんでした。

解決方法はシンプルで、デフォルトデバイスを一番上の移動します。もちろん、デフォルトデバイスアイテムの"デフォルトシミュレーター"フィールドはブランクにしておいてください。