Reputation: 71
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
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
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