根据访客浏览器更改主题

时间:2015-07-07 11:04:21

标签: magento magento-1.7 magento-1.9

我使用的主题不支持旧的IE版本,如6,7,8,9,10,所以我想以编程方式更改Magento主题(皮肤,布局和默认)和默认CMS主页访问者正在使用以前的浏览器之一,如果不是,则访问者将使用默认主题。

由于

1 个答案:

答案 0 :(得分:2)

<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

希望这会有所帮助!!