我正在尝试使用会话代码来使用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中打印出字符串和其他变量。
答案 0 :(得分:0)
$print
更改为print
尝试注释掉前面的所有行,看看其中一个“包含”是否弄乱了页面:
/*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');