Joomla itemid redirect url


Joomla itemid redirect url

我有一个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)。所以我需要你的帮助。

您需要考虑的一件事是为什么要更改Itemid。当前值来自特色菜单项。这为向下钻取项目提供了许多选项。您通过更改Itemid完成了什么?您是否试图控制模板,模块,url或其他东西?

Itemid在Joomla中是一个非常重要的概念,因为它根据所选择的选项来管理模板、模块、url和许多其他东西。SEF插件还使用复杂的层次规则搜索匹配的itemid。

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

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

如果问题是你在特色页面上做了一些特别的事情,而你不想在内页上做这样的事情,你最好让特色视图成为你要调整的那个(也就是说,例如让普通模板成为默认模板,而特色的特殊模板只用于该菜单链接)。此外,如果问题是模块,你可能会更好地通过隐藏/显示某些模块的不同的模板,这取决于你是否在功能视图。