在外部 php 页面加载 joomla 模块

Load a joomla module in an external php page

我正在使用 Joomla 3。

我想将我的 joomla 模块之一添加到单独的(来自 joomla)PHP 页面。这可能吗?

根据我在网上找到的,我需要调用joomla框架然后????????然后就可以了。

<?php define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise(); 


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>


</head>

<body>


                    <jdoc:include type="modules" name="position-22" style="none" />



</body>
</html>

是的,有可能

  • 初始化 Joomla 框架(来自 Joomla 3.4.1 index.php)

    define('_JEXEC', 1);
    
    if (file_exists(__DIR__ . '/defines.php'))
    {
        include_once __DIR__ . '/defines.php';
    }
    
    if (!defined('_JDEFINES'))
    {
        define('JPATH_BASE', __DIR__);
        require_once JPATH_BASE . '/includes/defines.php';
    }
    
    require_once JPATH_BASE . '/includes/framework.php';
    
    $app = JFactory::getApplication('site');
    $app->initialise();
    
  • 初始化后你可以使用JHtml

    调用你的模块位置
    echo JHtml::_('content.prepare', '{loadposition position-22}');