从Joomla 2.5组件访问Gantry / Rockettheme模板参数

时间:2013-08-22 07:35:42

标签: php joomla2.5

天儿真好, 我有一个我为Joomla 2.5设计的自定义组件。目前我正在使用Rockettheme模板。 我遇到的问题是我在组件中的设计没有响应,因此在iphone / android等上看起来很糟糕。

我有办法访问rockettheme / gantry框架参数(来自我的组件)以查看用户正在查看的布局。在大多数网站的底部,如果通过屏幕底部的桌面/移动按钮使用移动设备,用户可以更改他们查看的布局。我想访问此设置....并在我的view.html.php文件中调整我将显示的布局。

这可能吗?我没有丝毫的线索从哪开始...

1 个答案:

答案 0 :(得分:0)

如果有兴趣的话,我设法创建了一个包含龙门架的解决方案,并访问龙门架cookie以确定用户正在查看的布局。 (正常的default.php文件或default_phone.php)

我们走了: 在view.html.php文件中:

    //-----------------
    // Add the Gantry framework and access the iphone switcher values!
    //-----------------
    $gantry_path = JPATH_SITE . '/libraries/gantry/gantry.php';
    if (file_exists($gantry_path))
    {
        require_once($gantry_path);
    }
    else
    {
        echo "error " . JText::_('Unable to find Gantry library.  Please make sure you have it installed.');
        die;
    }

    global $gantry;

    $prefix = 'viewswitcher-'.$gantry->get('template_prefix');
    $cookiename = $prefix.$gantry->browser->platform.'-switcher';
    $cookie = JRequest::getVar($cookiename, false, 'COOKIE', 'STRING'); 

    if($cookie == true)
    {
        //User is viewing from iphone mode
        $tpl = 'phone'; // this will call the layout file named: default_phone.php (It MUST be called default_xxx.php)
    }
    else{
        //User is viewing from desktop - Do nothing! - view.html.php will call the normal default.php layout
    }
    //------------------------
    // End Gantry Framework
    //------------------------

所以我不确定这是否是正确或可行的方式,但它有魅力。