2012-05-18 85 views
2

我似乎無法使移動檢測工作。我添加了以下「移動」web.config更改:Sitecore移動檢測

<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" /> 

我還在設備列表中添加了一個名爲「Mobile」的新設備。根據我的理解,如果有人訪問m.localhost(開發的URL,是的,我知道),無論我希望它使用「移動」設備演示文稿的設備。這不是,它使用標準的。如果我指定sc_device = mobile,它會加載「Mobile」設備佈局。有什麼想法嗎?

回答

2

您應該檢查的幾件事情:

  • 的設置可能是大小寫敏感的,嘗試在設備屬性資本流動
  • 確保設備已公佈
  • 確保當你點擊網址,您正在獲取正確的網站 - 嘗試輸出Sitecore.Context.Site.Name或使用類似Glimpse的工具進行調試。如果您不是,請確保您有確切的主機名匹配,並且移動網站首先出現在您的網站列表中。
  • 也許嘗試該網站
+0

這些都是好點子 –

1

我想你應該在主機名添加到「網站」的網站,以及在defaultDevice屬性,而不是設備屬性。該設備可以區分大小寫。

您還可以擴展Sitecore httpRequestBegin管道,以根據瀏覽器的USER_AGENT字符串識別要使用的設備,並在同一站點上下文中切換設備。

請看這裏如何操作:http://briancaos.wordpress.com/2012/04/12/identifying-mobile-devices-in-sitecore/