У меня есть собственный скрипт для включения в страницу Joomla 3.x.
Этот скрипт находится в папке «foo» в корне установки Joomla.
Этот скрипт имеет внутренние ссылки на другие вторичные скрипты в своей папке.
Для этого я использовал «плагин контента», который разрешает выполнение скрипта.
Проблема заключается в том, что этот плагин выполняет скрипт php, как если бы он находился в корневом каталоге установки, а не в папке «/ foo». При запуске скрипта таким способом остальные вторичные скрипты его не видят.
Затем я установил переменную php path в скрипт, но это не решает:
ini_set('include_path', 'foo');
Как можно справиться с такими ситуациями?
Импортируйте скрипт с помощью JLoader, например:
JLoader::import('foo.bar', JPATH_ROOT);
Это предполагает, что у вас есть PHP-файл bar.php в папке foo вашего корня Joomla. Другие сценарии должны корректно обрабатывать их включения, если вы не хотите включать их через JLoader (тогда они больше не являются автономными).
Других решений пока нет …