silverstripe / mobile
移动模块提供对移动设备的检测,可以为它们提供不同的 SilverStripe 主题。该模块可以使用重定向到单独的移动域名,或者在同一 URL 下提供优化的移动内容。
Requires
- silverstripe/framework: ~3.1
This package is auto-updated.
Last update: 2024-07-10 21:54:50 UTC
README
移动模块
请注意:此模块不再积极维护。
概述
移动模块提供对移动设备的检测,并可以为它们提供不同的 SilverStripe 主题。该模块可以使用重定向到单独的移动域名,或者在同一 URL 下提供优化的移动内容。它包含一个默认的 "blackcandymobile" 主题来演示效果。
代码库依赖于基于用户代理字符串的服务器端设备检测,这是一种不可靠的方式,用来确定设备是否被认为是 "移动" 的。
W3C 推荐使用"一个网络" 方法,该方法使用"响应式设计"来适应内容,而不是在自己的域名下创建隔离的移动体验。大部分的移动优化工作将集中在客户端技术,如 JavaScript 和 CSS(例如,通过媒体查询)。
响应式设计不由本模块提供,可以使用标准的 SilverStripe 功能实现。
该模块还公开了此状态在 SilverStripe 控制器中,以便可以适应移动使用的自定义逻辑和 CSS/JavaScript 包含。
维护者联系方式
-
Sean Harvey(昵称:halkyon,sharvey)<sean (at) silverstripe (dot) com>
-
Will Rossiter(昵称:wrossiter,willr)<will (at) silverstripe (dot) com>
需求
- SilverStripe 3.1 或更高版本
安装
解压并将移动文件夹复制到您的 SilverStripe 项目中。
在浏览器中运行 "dev/build",例如:"http://localhost/silverstripe/dev/build?flush=all"
在调用数据库(开发)构建后,您的主题文件夹中将创建一个名为 "blackcandymobile" 的新主题。这是一个很好的起点,您可以根据需要修改它以创建自己的移动主题。
如果无法在 dev/build 期间由 web 服务器写入主题文件夹,请手动将 "blackcandymobile" 从移动文件夹复制到您的主题文件夹。
或者,该模块包含一个 "jquerymobile" 示例主题,该主题通过 jQuery Mobile 创建基本导航界面。要使用此主题,以相同的方式将其复制到 /themes
,并按以下描述在 SiteConfig
中设置。
配置
- SS2.4:在 CMS 中,浏览到 "页面" 选项卡,点击站点树根节点以访问 SiteConfig 设置。
- SS3:在 CMS 中,浏览到左侧导航栏上的 "设置" 选项卡以访问 SiteConfig 设置。
打开后,有一个 "移动" 选项卡,它公开了移动模块的配置选项。
这些选项相当简单。一组单选按钮控制移动站点的行为,有文本输入字段输入您想要作为移动端和完整站点的域名,以便当用户在移动设备上访问您的网站时,可以进行重定向。
还有该网站上所有主题的下拉菜单。这里选择的主题将是移动用户在您的网站上看到的主题。
请注意,在它正常工作之前,移动域名必须指向您的网站。
搜索引擎优化
该模块遵循谷歌的建议,在“域名重定向”模式下使用模块时,使用301 HTTP重定向。当使用相同的URL,但为移动内容和非移动内容使用不同的主题时,谷歌将通过使用不同的用户代理来检测此更改,并相应地进行索引。
局限性
- 没有细粒度的移动浏览器检测。只能检测设备的一般情况,例如Android或iPhone,但不能检测浏览器和设备功能。
- 仅在Android和iPhone设备上进行了测试。其他设备未进行测试
未来改进
- 默认主题中的搜索表单
- 与子站点模块集成,为移动网站提供不同的内容
- 设备功能检测,例如“此设备支持SSL吗?”或“此设备支持XHTML吗?”以进行渐进式增强
- 通过HTML5数据属性进行动态图片插入和调整大小