siment/module-http-header-theme-switch

基于X-UA-Device HTTP头自动切换主题的Magento 2模块。(或任何其他头)

1.0.4 2017-09-03 20:30 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:30:01 UTC


README

构建状态

Build Status Code Climate Test Coverage Issue Count

基于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

如何贡献

创建一个问题或拉取请求。

变更日志

CHANGELOG.md

许可证