2

モバイル検出が機能しないようです。次の「モバイル」web.configの変更を追加しました。

<site name="mobile" hostName="m.localhost" device="mobile" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/home" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />

<site name="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/home" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="10MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" /> 

また、デバイスリストに「モバイル」という新しいデバイスを追加しました。私が理解していることから、誰かがm.localhost(dev URL、はい、私は知っています)にアクセスした場合、デバイスに関係なく、「モバイル」デバイスのプレゼンテーションを使用することを期待します。それはそうではありません、それは標準のものを使用しています。sc_device = mobileを指定すると、「モバイル」デバイスレイアウトが読み込まれます。何かご意見は?

4

2 に答える 2

2

いくつか確認する必要があります。

  • 設定では大文字と小文字が区別される場合があります。デバイス属性でモバイルを大文字にしてみてください
  • デバイスが公開されていることを確認します
  • URLにアクセスしたら、正しいサイトを取得していることを確認してください。Sitecore.Context.Site.Nameを出力するか、Glimpseなどのツールを使用してデバッグしてください。そうでない場合は、ホスト名が完全に一致していることと、モバイルサイトがサイトリストの最初に表示されていることを確認してください。
  • おそらく、サイトのデバイス属性の代わりにdefaultDevice属性を試してください
于 2012-05-18T14:36:32.343 に答える
1

「ウェブサイト」サイトにもhostNameを追加する必要があると思います。また、デバイスでは大文字と小文字が区別されます。

また、Sitecore httpRequestBeginパイプラインを拡張して、ブラウザーのUSER_AGENT文字列に基づいて使用するデバイスを識別し、同じサイトコンテキスト内でデバイスを切り替えることもできます。

方法はこちらをご覧ください:http://briancaos.wordpress.com/2012/04/12/identifying-mobile-devices-in-sitecore/

于 2012-05-25T09:08:56.453 に答える