Joomla itemid重定向网址

时间:2014-07-26 19:19:40

标签: php redirect joomla

我有一个joomla 3.3.1网站,并在主页上附加了不同的文章作为特色文章。现在点击这些文章链接(图片,标题文字),它会重定向(\components\com_content\views\featured\tmpl\default_item.php)行号下的以下链接。 28:

<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">

如果您从前端打开该链接,它将显示如下取决于文章ID:

index.php?option=com_content&view=article&id=22:small-minds&catid=10&Itemid=101

现在我想将该Itemid从Itemid=101重定向到其他地方,如(Itemid=134Itemid=164)。因此,我需要在default_item.php代码中添加哪些代码,以便它可以重定向我从那里设置的所需Itemid

我试图写下以下代码:

<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid). $menuItemId=44); ?>">

如果我打开前端的链接,它会显示出类似的内容:

index.php?option=com_content&view=article&id=22:small-minds&catid=10&Itemid=10144

我想让它显示出类似的东西:

index.php?option=com_content&view=article&id=22:small-minds&catid=10&Itemid=44

正如您所看到的那样,两个Item ID都显示而不是我之后给出的那个(44)。所以需要你的帮助。

1 个答案:

答案 0 :(得分:0)

您需要考虑的一件事是您想要更改Itemid的原因。当前值来自特色菜单项。这为您提供了很多深入到项目的选项。你通过改变Itemid来完成什么?您是否尝试控制模板,模块,网址或其他内容?

在Joomla中,Itemid是一个非常重要的概念,因为它根据所选的选项管理模板,模块,URL和许多其他内容。 SEF插件还使用复杂的分层规则搜索匹配的Itemids。

这是问题所在。您不希望对同一内容使用不同的itemid。如果页面非常不同,那就很好了,但是一旦你开始搞乱默认系统,你就需要非常谨慎。

如果您绝对永久地知道Itemid的价值并知道您在做什么,并且它对于所有文章都是相同的itemId,那么您可以做的是为替换的特色视图进行布局覆盖硬编码动态生成的读数。如果您有链接标题,也可以更改标题链接。如果您这样做,您可能还需要覆盖这些文章的文章和博客的布局,具体取决于您对重复内容的看法。

如果问题是您在特色页面上做了一些特别的事情,并且您不希望在内页上做什么,那么您最好将功能视图调整为(例如make)普通模板的默认值和特殊的模板仅用于该菜单链接。此外,如果问题是模块,通过隐藏/显示某些模块可能会有更好的关闭,具体取决于您是否在功能视图中。