自上次将joomla更新为3.8以来,我无法通过“NON-Joomla-Script”调用以下函数。
$db=JFactory::getDBO();
我收到以下错误消息:
致命错误:未捕获错误:
中找不到类'JFactory'
我通过require_once加载了几个Joomla-Class,这是自Joomla 3.7.x以来的工作,例如:
require_once("[RootToPath]/libraries/joomla/database/factory.php");
我必须加载哪些Joomla-Classes才能再次使用这个类?
感谢您的帮助。
答案 0 :(得分:1)
classmap.php是Sven提到的关键。 在具体利用它方面,这对我有用:
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' );
允许访问JFactory和其他J' J'项目为framework.php加载类图文件。
答案 1 :(得分:0)
使用Joomla 3.8,类结构发生了变化。 Jxxx被替换为"普通"班级名称。您需要进行一些类映射,以便再次找到旧的Jxxx名称。
这门课应该让你入门: https://github.com/joomla/joomla-cms/blob/staging/libraries/classmap.php