我有一个使用Joomla 2.5构建的网站,该网站必须与其他框架中构建的另一个应用程序集成(这不是我们关注的)。
可通过以下网址访问Joomla网站/前端 http://wwww.server.com/
该应用程序保存在 http://wwww.server.com/app/
下我正在尝试使用以下代码段重新创建在Joomla Admin中定义的菜单,进入应用程序侧栏
define( '_JEXEC', 1 );
define('JPATH_BASE', realpath(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');
jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModules('left');
echo JModuleHelper::renderModule($module[0]);
这会在非Joomla页面上完美地生成菜单,但为HREF属性生成的URL包含/app/
,其中不应包含该内容
答案 0 :(得分:0)
经过大量挖掘路径,uri等文件后,我在上面提到的代码中添加了一个脏修复/ hack来生成正确的菜单URL:
define( '_JEXEC', 1 );
define('JPATH_BASE', realpath(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');
$JConfig=JFactory::getConfig();
$JConfig->set('live_site','http://www.server.com/');
jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModules('left');
echo JModuleHelper::renderModule($module[0]);
我在这里试过将'live_site'配置设置为我的网站的基本网址。
我希望这有助于某人。