自从joomla上一次更新到3.8后,我不能通过"NON-Joomla-Script“调用下面的函数。
$db=JFactory::getDBO();
我得到以下错误消息:
致命错误:未捕获错误:未在中找到'JFactory‘类
我通过require_once加载了几个Joomla类,这是从Joomla 3.7.x开始工作的,例如:
require_once("[RootToPath]/libraries/joomla/database/factory.php");
我必须加载哪些Joomla类,才能再次使用这个类?
谢谢你的帮助。
发布于 2017-10-14 10:22:06
正如斯文所说,classmap.php是关键。就具体利用它而言,这对我来说是有效的:
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' );
在framework.php加载类映射文件时提供对JFactory和其他'J‘项的访问。
发布于 2017-09-26 13:03:06
在Joomla 3.8中,类结构发生了变化。Jxxx被替换为“普通”的类名。您需要进行一些类映射,以便可以再次定位旧的Jxxx名称。
这个类应该可以让您入门:https://github.com/joomla/joomla-cms/blob/staging/libraries/classmap.php
https://stackoverflow.com/questions/46399428
复制相似问题