从外部php脚本访问Joomla

时间:2014-02-12 06:43:05

标签: php jquery joomla

我为Joomla 2.5编写了一个组件,它在admin部分使用了jquery。 js-script调用一个帮助器php文件(addrow.php),它使用Joomla的表单字段返回表的新行。因为该文件在Joomla框架之外,所以我使用这些行来使其工作:

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

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

升级到Joomla 3.2之后,这不再适用了,我刚刚得到了

  

显示错误页面时出错:应用程序实例化错误

但是添加

$mainframe = JFactory::getApplication('site');
$mainframe->initialise();

它再次起作用。

我的问题是,如果这通常是为jquery编写外部php脚本的正确方法吗? getApplication('site')是否正确,即使它是管理员?

1 个答案:

答案 0 :(得分:2)

  1. 否 - 阅读this answer并在“Using Joomla Ajax Interface

  2. 上阅读
  3. 是的,这是一种可接受的表单(尽管JFactory::getApplication()将默认为当前入口点,即siteadministrator