2012-07-10 70 views
0

我試圖獲取會話變量與Joomla一起使用他們的會話代碼,因爲php的會話不工作。我遇到了一個問題,試圖訪問joomla自定義代碼模塊編輯器中的會話變量。當我嘗試使用代碼訪問會話變量時:Joomla自定義模塊oop php無法正常工作

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
  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'); 
+0

呀,我有它的插件。 JavaScript和PHP運行良好減去上面的問題。美元印刷是一個疏忽,修復後仍然無法使用。不過謝謝。 – 2012-07-10 20:44:15

+0

@AustinMunro它也可以是其中一個包含的文件。在我的答案中看到更新。 – alfasin 2012-07-10 20:59:02

+0

它不是任何包含或定義。這些對於joomla會話是必要的,並且我在服務器上有一個單獨的php文件(不是定製的joomla模塊),可以毫無問題地使用這些文件。 – 2012-07-11 16:20:17