从Joomla外部访问$ _SESSION

时间:2011-11-06 19:37:08

标签: php session joomla

我使用Joomla 1.5作为我为游戏公司开发的网站。该网站的一部分由他们开发的游戏的角色生成器组成。问题是用户希望能够打开字符表,而不需要使用Joomla模板。

至于细节,我安装了directphp扩展,并且整个生成器都是用PHP编写的(用一些JavaScript来处理PHP无法处理的事情)。由于生成器跨越了几十个页面调用,因此将所有内容存储在$ _SESSION中是有意义的。所有这一切都正常。为了使最终的纸张打印机友好,我尝试将用户重定向到Joomla之外的页面(虽然在同一台服务器上,甚至在同一个文件夹中),但是我无法从这个新页面访问$ _SESSION数据。 / p>

我已经看到几个帖子(本网站上的一些帖子)指向加载Joomla框架并以这种方式访问​​它,我已经尝试过,但我正在寻找的数据似乎并未包含在那里。有没有人以前遇到过这个问题,或者知道如何获取这些数据?

1 个答案:

答案 0 :(得分:1)

你正在使这种方式变得比它需要的更难。您无需编写任何其他代码即可完成您要执行的操作。为了在没有所有Joomla模板的情况下打印我们的组件输出,您只需将?tmpl=component附加到您的URL,Joomla将仅显示到没有任何模板的组件输出。如果要为其提供自定义样式表或任何特殊样式,您还可以通过在模板文件夹中添加名为component.php的文件来添加模板覆盖。

为了控制每页的CSS,您可以在菜单项中添加Page Class Suffixes。然后将此代码添加到index.php,以便您可以使用它们。

在头部的某处添加:

$menu = &JSite::getMenu();
$active = $menu->getActive();
$pageclass = "";
if (is_object( $active )) :
    $params = new JParameter( $active->params );
    $pageclass = trim($params->get( 'pageclass_sfx' ));
endif;

将身体标签替换为:

<body id="<?php echo $pageclass ? $pageclass : 'default'; ?>">

您没有特定于Page Class Suffix for的任何页面将使用default作为正文ID,您执行的任何页面都将使用您指定的内容。