siment / module-http-header-theme-switch
基于X-UA-Device HTTP头自动切换主题的Magento 2模块。(或任何其他头)
Requires
- magento/framework: ~100.1.0
- magento/module-store: ~100.1.0
Requires (Dev)
- magento/marketplace-eqp: ~1.0
- phpmd/phpmd: ~2.6
- phpunit/phpunit: ~5.0.0
This package is not auto-updated.
Last update: 2024-09-29 02:30:01 UTC
README
构建状态
基于X-UA-Device头自动切换主题的Magento 2模块。(或任何其他头)
本模块做什么?
此模块确保在确定使用哪个主题时,除了“User-Agent”外,还会检查HTTP头“X-UA-Device”的值。您还可以配置它以监听除了预先配置的“X-UA-Device”头之外的其他头。
为什么需要这个模块?
简短版
因为许多网络代理,如Varnish,建议使用“X-UA-Device”头进行设备检测,并且Magento应该尊重它。
详细版
Magento 2允许基于设计异常进行主题切换,这允许“为特定的用户代理指定一个替代主题”。
现在有数百个用户代理,正确识别来自移动、平板和桌面设备的代理变得具有挑战性。
有很好的库可以简化检测,例如通用的mobiledetect/mobiledetectlib和出色的Magento模块eadesignro/module-mobiledetect。如果您安装了像Varnish这样的网络代理,这些模块将不会直接工作。
这就是为什么我想使用Varnish Mobile Detect模块,它从Varnish发送“X-UA-Device”头用于设备检测,而不是篡改“User-Agent”头。
如何安装
在Magento根目录下
$ composer require siment/module-http-header-theme-switch:"~1.0"
$ php bin/magento module:enable Siment_HttpHeaderThemeSwitch
$ php bin/magento cache:clean
配置
在Magento管理员界面
商店 -> (设置) 配置 -> 常规 -> 设计 -> HTTP头主题切换 -> HTTP头
除了标准头“User-Agent”之外,还将匹配用于主题异常的HTTP头。标准值是“HTTP_X_UA_DEVICE”
您可以在“内容” -> (设计) 配置 -> (选择一个主题) 编辑 -> 用户代理规则下定义匹配规则。
如何测试
确保已安装Composer依赖项,并且已执行“post-install-cmd”脚本。
在模块目录下
$ composer install $ composer run-script post-install-cmd # May not be necessary $ vendor/bin/phpunit # For unit tests $ vendor/bin/phpcs # For code sniffs $ vendor/bin/phpmd src/,Test/ text phpmd.xml # For mess detector
如何贡献
创建一个问题或拉取请求。
变更日志
许可证
- 许可协议为学术免费许可证(“AFL”)v. 3.0
- 见LICENSE.txt或https://open-source.org.cn/licenses/afl-3.0