VolleyTom
VolleyTom

Reputation: 71

Joomla 3.8 - How to call JFactory

Since the last update of joomla to 3.8, i can't call the following function via "NON-Joomla-Script".

  $db=JFactory::getDBO();

I get the following Error Message:

Fatal error: Uncaught Error: Class 'JFactory' not found in

I was loading several Joomla-Classes via require_once and this was working since Joomla 3.7.x, e.g:

  require_once("[RootToPath]/libraries/joomla/database/factory.php");

Which Joomla-Classes do I have to load, to use this class again?

Thanks for your help.

Upvotes: 5

Views: 2896

Answers (2)

Dayo
Dayo

Reputation: 12775

classmap.php is key as mentioned by Sven. In terms of specifically leveraging it, this works for me:

define( '_JEXEC', 1 );
define( 'JPATH_BASE', '/Full/Server/Path/To/Joomla/Folder' );
require_once ( JPATH_BASE . '/includes/defines.php' );
require_once ( JPATH_BASE . '/includes/framework.php' );

Gives access to JFactory and the other 'J' Items as framework.php loads the classmap file.

Upvotes: 2

Sven Bluege
Sven Bluege

Reputation: 1468

With Joomla 3.8 the class structure changed. Jxxx was replaced with "normal" class names. You need to do some class mapping so old Jxxx names can be located again.

This class should get you started: https://github.com/joomla/joomla-cms/blob/staging/libraries/classmap.php

Upvotes: 0

Related Questions