Joomla Custom Module oop php无效

时间:2012-07-10 20:15:41

标签: session joomla joomla2.5

我正在尝试使用会话代码来使用Joomla的会话变量,因为php的会话不起作用。我遇到了一个问题,试图访问joomla自定义代码模块编辑器中的会话变量。当我尝试使用代码访问会话变量时:

define( '_JEXEC', 1 );
define('JPATH_BASE', "../");
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
$session = JFactory::getSession();
$print $session->get('status');

我一无所获。如果我使用相同的代码并将其粘贴到自己的php文件中,我可以获得状态变量。当我看到Joomla预览的纯文本版本时,我看到了:

get('status'); ?>

进行一些测试我认为它与' - >'相关操作数。有没有人遇到这个,知道如何解决它?我正在运行Direct PHP,可以在模块fwiw中打印出字符串和其他变量。

1 个答案:

答案 0 :(得分:0)

  1. 如果没有安装支持它的插件,你就无法在Joomla文章中运行PHP(或Javascript!)。我建议使用:http://www.kksou.com/php-gtk2/Joomla/DirectPHP-plugin.php
  2. $print更改为print
  3. 尝试注释掉前面的所有行,看看其中一个“包含”是否弄乱了页面:

    /*define( '_JEXEC', 1 );
    define('JPATH_BASE', "../");
    define( 'DS', DIRECTORY_SEPARATOR );
    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
    */
    $session = JFactory::getSession();
    print $session->get('status');