在外部 PHP 文件中加载 Joomla 3.x 框架和模块

2022-01-06 00:00:00 php joomla joomla3.0 phpbb phpbb3

我正在将我的 Joomla 2.5 站点迁移到 Joomla 3.3.

I am migrating my Joomla 2.5 site to Joomla 3.3.

现在我正在努力加载 joomla 框架并在 phpbb 模板中显示一个模块.使用以下代码在 Joomla 2.5 中加载 Joomla 框架工作正常:

Now I'm struggling with loading the joomla framework and displaying a module in a phpbb-Template. Loading the Joomla framework worked fine in Joomla 2.5 with this code:

define( '_JEXEC', 1 );
define('JPATH_BASE', '/var/customers/webs/tf2swiss/joomlasite');
define( 'DS', DIRECTORY_SEPARATOR );
require_once('../configuration.php');
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
require( JPATH_LIBRARIES. '/import.php');
// Joomla! library imports
jimport( 'joomla.environment.uri' );
jimport( 'joomla.user.user');
jimport('joomla.application.module.helper');

/* Create the Application */
$mainframe =& JFactory::getApplication('site');
jimport('joomla.plugin.helper');

但我现在不能在 Joomla 3.x 中工作.页面停止加载此代码所在的位置.在 phpbb 模板文件中使用 PHP 在安全选项中启用.

But I doesn't work in Joomla 3.x now. The page stopps loading where this code is. Using PHP in phpbb template files is enabled in the Security options.

有谁知道如何在外部文件中加载joomla 3.x框架?

Does anyone know how to load the joomla 3.x framework in external files?

推荐答案

以下内容非常适合我:

define('_JEXEC', 1);
define('JPATH_BASE', '../');
require_once JPATH_BASE . 'includes/defines.php';
require_once JPATH_BASE . 'includes/framework.php';

// Create the Application
$app = JFactory::getApplication('site');

尝试将您当前拥有的这一行更改为如上所示的相对路径.您可能会根据您的 Joomla 根目录相对于外部文件的位置更改 ../.

Try changing this line which you currently have to a relative path as shown above. You may been to change ../ according to where you have your Joomla root in relation to your external file.

define('JPATH_BASE', '/var/customers/webs/tf2swiss/joomlasite');

要测试它是否有效,只需使用以下内容:

To test if it's working, simply use something like this:

var_dump($app);

如果您看到数据显示,则您已成功导入框架

If you see data being shown, then your have successfully imported the framework

相关文章