2014-02-12 5 views
0

Я написал компонент для Joomla 2.5, который использует jquery в части администратора. Js-script вызывает хелпер-файл php (addrow.php), который возвращает новую строку таблицы, используя поля формы Joomla. Поскольку этот файл находится вне рамок Joomla, я использовал эти строки, чтобы сделать его работу:Доступ к Joomla из внешнего php-скрипта

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, это не будет работать больше, я только что получил

Ошибка отображения страница ошибки: Application Error Инстанцирование

но путем добавления

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

он работает снова.

Мой вопрос в том, что это, в общем, правильный способ записи внешних php-скриптов для jquery?
И есть getApplication ('site') правильно, даже если это для администратора? не

ответ

2
  1. Нет - читать this answer и это на "Using Joomla Ajax Interface"

  2. Да, это приемлемая форма (хотя JFactory::getApplication() будет по умолчанию текущей точки входа, т.е. site или administrator

+0

работы. в совершенстве – josh21

Смежные вопросы