从sef url中删除组件部分,菜单项不完全删除

时间:2012-10-14 22:16:51

标签: joomla joomla2.5 sef

我为joomla 2.5构建了一个自定义组件。现在我想实现sef网址。所以我开始创建router.php文件。我几乎成功了。我唯一想要改变的是删除组件名称链接。这是我得到的:

http://host.tld/component/componentname/

如果我使用别名创建菜单项,则sef url如下所示:

http://host.tld/alias

这是我想要的实际方案,但只有在我从菜单中点击menuitem时才会显示。如果我在家庭网站,这不起作用。

1 个答案:

答案 0 :(得分:1)

自己解决了这个问题:

如果您的组件只有一个菜单项(否则您必须选择正确的菜单项),您只需将这些行添加到您的代码中:

$app = JFactory::getApplication();
$menu = $app->getMenu();
$items = $menu->getItems('component', 'com_games');

if (!isset($query['Itemid']))   
    $query['Itemid'] =  $items->id; 

现在joomla使用菜单项别名来生成sef urls。