【问题标题】:Joomla 3.8 - How to call JFactoryJoomla 3.8 - 如何调用 JFactory
【发布时间】:2017-09-25 07:09:05
【问题描述】:

自从上次更新 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 类才能再次使用这个类?

感谢您的帮助。

【问题讨论】:

    标签: joomla joomla3.8


    【解决方案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' );
    

    在 framework.php 加载类映射文件时,可以访问 JFactory 和其他“J”项。

    【讨论】:

    • 老话题,但我是 Joomla 的新手,所以请帮忙.. 尝试您的解决方案后,我收到以下错误电子邮件。错误:无法启动应用程序:无法启动应用程序
    【解决方案2】:

    在 Joomla 3.8 中,类结构发生了变化。 Jxxx 被替换为“普通”类名。您需要进行一些类映射,以便可以再次找到旧的 Jxxx 名称。

    这门课应该可以帮助您入门: https://github.com/joomla/joomla-cms/blob/staging/libraries/classmap.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 2013-05-16
      相关资源
      最近更新 更多