0

我的 Joomla 站点中有以下 PHP 脚本 file.php:

$user = JFactory::getUser();
$usr_id = $user->get('id');

如果我直接运行它,在 HTML 中使用:

include_once "file.php";

它将获得用户ID,没问题。

但是,如果通过 Ajax 请求运行它:

$.ajax({
    url: "other.php",
...

other.php 在哪里:

include_once "file.php";

我得到错误:

Fatal error:  Class 'JFactory' not found in file.php on line 3

为什么?有什么帮助!?

4

1 回答 1

4

您需要导入 Joomla 库才能使用JFactory该类。要导入库,请将以下内容添加到文件顶部:

define( '_JEXEC', 1 );
define( 'JPATH_BASE', dirname(__FILE__) ).'/../..' );

require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
require_once ( JPATH_BASE .'/libraries/joomla/factory.php' );

$mainframe = JFactory::getApplication('site');
$mainframe->initialise();
于 2013-10-08T20:36:56.943 回答