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

2024-04-12

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

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

如果我创建一个带有别名的菜单项,则 sef url 如下所示:

http://host.tld/别名 http://host.tld/alias

这是我想要的实际方案,但仅当我单击菜单中的菜单项时才会显示。如果我在主站点,则此操作不起作用。


自己解决了这个问题:

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 sef url 中删除组件部分,菜单项未完全删除 的相关文章