我为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')是否正确,即使它是管理员?
答案 0 :(得分:2)
否 - 阅读this answer并在“Using Joomla Ajax Interface”
是的,这是一种可接受的表单(尽管JFactory::getApplication()
将默认为当前入口点,即site
或administrator
。