我需要從Joomla本身之外的程序中獲取當前登錄到Joomla的用戶的信息。我從1.5升級到2.5,而我以前的產品不再工作。Joomla 2.5從外部腳本獲取用戶數據
<?php
define('_VALID_MOS', 1);
include_once('globals.php');
require_once('configuration.php');
require_once('includes/joomla.php');
$option="test";
$mainframe = new mosMainFrame($database, $option, '.');
$mainframe->initSession();
$my = $mainframe->getUser();
$joomla_name = $my->name;
$joomla_email = $my->email;
$joomla_password = $my->password;
經過一番研究,我想出了這一點:
<?php
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('DS', '/');
require_once (JPATH_BASE .DS.'configuration.php');
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');
$my =& JFactory::getUser();
$joomla_name = $my->name;
$joomla_email = $my->email;
$joomla_password = $my->password;
$joomla_username = $my->username;
它不會產生任何錯誤,但似乎工作。但是,用戶對象是空的。該腳本與Joomla安裝位於同一目錄中。可能是什麼問題?謝謝!
來源:
http://www.cmsbloke.com/accessing-joomla-objects-from-an-external-script/
好吧,我們正在越來越接近更換
$_SESSION[ 'name' ] = "value";
在外部腳本。但是,我之前獲得的代碼是關於當前登錄的user_的信息。我怎樣才能在這裏獲得這些信息?我相信Joomla有一個自定義的會話實現,因爲數據不在'$ _SESSION'中。 – Jonah不太確定。我嘗試使用腳本並實現這些庫,但它一直在說「找不到JFactory類」。如果你確實得到它的工作,那麼請分享,因爲我也很想知道如何做到這一點。第一點的問候 – Lodder