0

我正在尝试使用 Joomla 的会话代码让会话变量与 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 中打印出字符串和其他变量。

4

1 回答 1

0
  1. 如果不安装支持它的插件,您将无法在 Joomla 文章中运行 PHP(或 Javascript!)。我推荐使用:http ://www.kksou.com/php-gtk2/Joomla/DirectPHP-plugin.php
  2. 更改$printprint

尝试注释掉前面的所有行,看看其中一个“包含”是否弄乱了页面:

/*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');
于 2012-07-10T20:41:08.333 回答