Подключение фреймворка Joomla в стороннем скрипте

  • 16 Ответов
  • 693 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Нашел тему http://joomlaforum.ru/index.php/topic,234049.0.html, она закрыта, вопросы остались.

Мой код
Код
define('_JEXEC', 1);
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT'] );
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
$app = JFactory::getApplication('site')->initialise();

Tkani();

function Tkani(){
echo '123';
jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModule( 'mod_phocagallery_image','dvd');
$attribs['style'] = 'xhtml';
$module->params='{"image_ordering":"7","image_size":"medium","limit_count":"1000"}';
print_r($module);
echo JModuleHelper::renderModule( $module, $attribs );
}

Скрипт отрабатывает до строки $app = JFactory::getApplication('site')->initialise(); , проверил методом echo '123';

Если ее за комментировать то выполнится все, но с ошибками, которые тоже хотелось бы победить и вывести модуль

Выполнение скрипта без JFactory::getApplication('site')->initialise();
123
jos-Error: Application Instantiation Error

Tkani() @ Z:\home\mebelit.ru\www\plugins\vmcustom\tkani\ajax.php:30
JModuleHelper :: getModule() @ Z:\home\mebelit.ru\www\plugins\vmcustom\tkani\ajax.php:35
JModuleHelper :: _load() @ Z:\home\mebelit.ru\www\libraries\joomla\application\module\helper.php:36
JFactory :: getApplication() @ Z:\home\mebelit.ru\www\libraries\joomla\application\module\helper.php:297
JError :: raiseError() @ Z:\home\mebelit.ru\www\libraries\joomla\factory.php:99
JError :: raise() @ Z:\home\mebelit.ru\www\libraries\joomla\error\error.php:251
JError :: throwError() @ Z:\home\mebelit.ru\www\libraries\joomla\error\error.php:176
call_user_func_array() @ Z:\home\mebelit.ru\www\libraries\joomla\error\error.php:214
JError :: handleCallback()
call_user_func() @ Z:\home\mebelit.ru\www\libraries\joomla\error\error.php:765
JError :: customErrorPage()
JFactory :: getApplication() @ Z:\home\mebelit.ru\www\libraries\joomla\error\error.php:784
JError :: raiseError() @ Z:\home\mebelit.ru\www\libraries\joomla\factory.php:99
JError :: raise() @ Z:\home\mebelit.ru\www\libraries\joomla\error\error.php:251

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Мой код и пример из ссылки одинаковы если не использовать JFactory::getApplication('site')->initialise();
И наверно его не надо использовать, но что делать с ошибками вывода модуля. Все подключено же...

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
не совсем понятны ошибки вы точно все скопировали что там выводит?
и если у вас Joomla 3.2+ то зачем вы делаете отдельный файл AJAX php если можно воспользоваться Joomla компонентом com_ajax для получения данных из модуля?!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
ну вот даже принскрин прикрепил
Joomla 2.5

*

robert

  • Профи
  • ********
  • 4004
  • 371
Что выводит
Код: php-brief
echo $_SERVER['DOCUMENT_ROOT'];
?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Что выводит
Код: php-brief
echo $_SERVER['DOCUMENT_ROOT'];
?

Z:/home/mebelit.ru/www

*

robert

  • Профи
  • ********
  • 4004
  • 371
И это есть корневая папка Joomla?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
И это есть корневая папка Joomla?

Обновил шапку на
Код
define('_JEXEC', 1);
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT'].'/includes' );
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'defines.php');
require_once(JPATH_BASE.DS.'framework.php');

Сообщение теперь такое :
No configuration file found and no installation code available. Exiting...

*

robert

  • Профи
  • ********
  • 4004
  • 371
Вы не ответили на вопрос
И это есть корневая папка Joomla?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
и напишите версию Joomla!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Вы не ответили на вопрос
Z:/home/mebelit.ru/www это корневая папка сайта, значит и Joomla.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
и напишите версию Joomla!

Joomla 2.5

*

robert

  • Профи
  • ********
  • 4004
  • 371
А если так
Код: php-brief
function Tkani(){
echo '123';
}
, отрабатывает?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
НЕТ.
до подключения require_once(TT.DS.'framework.php'); работает
« Последнее редактирование: 05.06.2015, 15:28:41 от stydent »

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Решение найдено.
Код
define('_JEXEC', 1);
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT'] );
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
$app = JFactory::getApplication('site');
$app->initialise();

Разница
между этим:
Код
$app = JFactory::getApplication('site');
$app->initialise();
и этим
Код
$app = JFactory::getApplication('site')->initialise();



*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Достаточно было вызвать
Код: php
JFactory::getApplication('site')->initialise();
не используя переменную $app