从Joomla菜单中的URL中删除前缀

时间:2012-08-21 09:56:28

标签: php joomla

我有一个使用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/,其中不应包含该内容

1 个答案:

答案 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'配置设置为我的网站的基本网址。

我希望这有助于某人。