Load Joomla 3.x Framework and Modules in external PHP file
Asked Answered
N

1

7

I am migrating my Joomla 2.5 site to Joomla 3.3.

Now I'm struggling with loading the joomla framework and displaying a module in a phpbb-Template. Loading the Joomla framework worked fine in Joomla 2.5 with this code:

define( '_JEXEC', 1 );
define('JPATH_BASE', '/var/customers/webs/tf2swiss/joomlasite');
define( 'DS', DIRECTORY_SEPARATOR );
require_once('../configuration.php');
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
require( JPATH_LIBRARIES. '/import.php');
// Joomla! library imports
jimport( 'joomla.environment.uri' );
jimport( 'joomla.user.user');
jimport('joomla.application.module.helper');

/* Create the Application */
$mainframe =& JFactory::getApplication('site');
jimport('joomla.plugin.helper');

But I doesn't work in Joomla 3.x now. The page stopps loading where this code is. Using PHP in phpbb template files is enabled in the Security options.

Does anyone know how to load the joomla 3.x framework in external files?

Navigate answered 29/5, 2014 at 16:0 Comment(1)
If anybody finds this actually looking for how to load Joomla 1.5 (yes, used even in 2017, especially with virtuemart) ... : docs.joomla.org/…Tweed
D
13

The following works perfectly for me:

define('_JEXEC', 1);
define('JPATH_BASE', '../');
require_once JPATH_BASE . 'includes/defines.php';
require_once JPATH_BASE . 'includes/framework.php';

// Create the Application
$app = JFactory::getApplication('site');

Try changing this line which you currently have to a relative path as shown above. You may been to change ../ according to where you have your Joomla root in relation to your external file.

define('JPATH_BASE', '/var/customers/webs/tf2swiss/joomlasite');

To test if it's working, simply use something like this:

var_dump($app);

If you see data being shown, then your have successfully imported the framework

Dicky answered 29/5, 2014 at 16:9 Comment(3)
Thanks for the reply. This works in a php-file, but does not work in my phpBB template overall_header.html. The site stopps loading at $app = JFactory::getApplication('site')Navigate
Nevermind, phpBB is very annoying sometimes. It seems to work when I include this code as an external php file <!-- INCLUDEPHP somefile.php -->. Thanks anywayNavigate
I used this - define('JPATH_BASE', realpath(dirname(FILE))); instead of define('JPATH_BASE', '../');Barytes

© 2022 - 2024 — McMap. All rights reserved.