根据访客浏览器更改主题
Change theme based on visitor browser
我使用的主题不支持 6、7、8、9、10 等旧 IE 版本,因此我想以编程方式更改 Magento 主题(外观、布局和默认)和默认 CMS 主页,如果访问者使用的是以前的浏览器之一,如果不是,访问者将使用默认主题。
谢谢
<frontend>
<events>
<controller_action_layout_load_before>
<observers>
<magento_test>
<class>magento_test/observer</class>
<method>changeLayoutEvent</method>
</magento_test>
</observers>
</controller_action_layout_load_before>
</events>
</frontend>
public function changeLayoutEvent($observer) {
if(preg_match('/(?i)msie [1-10]/',$_SERVER['HTTP_USER_AGENT'])) {
// if IE<=10
Mage::getDesign()->setArea('frontend')
->setPackageName('default')
->setTheme('modern');
} else {
// if IE>10
Mage::getDesign()->setArea('frontend')
->setPackageName('mycustompackagename')
->setTheme('mycustomtheme');
}
}
要更改默认的 CMS 主页,请检查:Programmatically set the current home CMS/Page in Magento in PHP
希望对您有所帮助!!
我使用的主题不支持 6、7、8、9、10 等旧 IE 版本,因此我想以编程方式更改 Magento 主题(外观、布局和默认)和默认 CMS 主页,如果访问者使用的是以前的浏览器之一,如果不是,访问者将使用默认主题。
谢谢
<frontend>
<events>
<controller_action_layout_load_before>
<observers>
<magento_test>
<class>magento_test/observer</class>
<method>changeLayoutEvent</method>
</magento_test>
</observers>
</controller_action_layout_load_before>
</events>
</frontend>
public function changeLayoutEvent($observer) {
if(preg_match('/(?i)msie [1-10]/',$_SERVER['HTTP_USER_AGENT'])) {
// if IE<=10
Mage::getDesign()->setArea('frontend')
->setPackageName('default')
->setTheme('modern');
} else {
// if IE>10
Mage::getDesign()->setArea('frontend')
->setPackageName('mycustompackagename')
->setTheme('mycustomtheme');
}
}
要更改默认的 CMS 主页,请检查:Programmatically set the current home CMS/Page in Magento in PHP
希望对您有所帮助!!