【问题标题】:Remove component part from sef url, menu item not completely从 sef url 中删除组件部分,菜单项不完全
【发布时间】:2012-10-04 22:10:13
【问题描述】:

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

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

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

http://host.tld/alias

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

【问题讨论】:

  • 你的问题不是很清楚,尤其是“如果我在主站点,这不起作用。”你能把它扩展到更精确一点?
  • 好吧,如果我在主站点,则 URL 以组件/组件名称/视图/参数的形式构建。这也发生在 thE 子网址上。如果我单击菜单项,则 URL 将构建在 Form menuitemalias/view/parammeters 中。我希望 URL 总是看起来像当我单击菜单项时构建的。

标签: joomla joomla2.5 sef


【解决方案1】:

自己解决了问题:

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

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

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

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

【讨论】:

  • 没有线索了,因为那是几年前的事了.. :) 但我可以想象,是的。
猜你喜欢
  • 2013-01-09
  • 1970-01-01
  • 2017-09-16
  • 2012-03-10
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
相关资源
最近更新 更多