0

我的主页上有 2 个模块。一个列出最受欢迎的,一个列出来自 2 个不同类别(视频和博客)的最新 k2 项目。指向博客全文的链接转到 /blog/item/,因此侧栏模块可以正确显示。但是由于某种原因,视频条目链接到/component/k2/item/,并且在该页面上,应该在右侧的模块根本没有出现。内容区域占据了网站的整个宽度。

这种情况进一​​步令人困惑的是,我在某些内部页面上运行了这些模块的副本,具有相同的设置,可以正确链接到项目。我有两个相同模块的唯一原因是因为我需要相同的模块显示在索引页面的内容下方,以及选择内部页面的侧栏中。

我没有链接到视频类别的菜单项。主要类别是教育,有3个子类别。博客、视频、文章。只有博客和教育的菜单项。我已经在一些内部页面中拥有相同的模块,并且工作正常。

我究竟做错了什么?

4

1 回答 1

3

解决方案很简单,解释很复杂。这是解决方案 -

  1. 创建一个新菜单,将其称为隐藏链接之类的。不管它叫什么,您都不会在网站上显示此菜单。
  2. 为视频类别创建一个新菜单项。
  3. 将您的模块分配给该隐藏的菜单项。

如果您不关心发生了什么,只需知道您始终可以创建隐藏的菜单项来控制页面上的布局。

如果你真的在乎,喝点冷饮,舒服点……

除了为用户提供访问内容的链接之外,Joomla 服务器中的菜单项还有几个不同的用途。如果您使用的是核心 SEF URL,这是 Joomla 最先创建这些 URL 的地方。一般来说,一个 URL 是这样构建的 - joomla 安装/父菜单项别名/子菜单项别名/内容项/文章别名.html。由于您的视频类别没有用于构建 URL 的相应菜单项,因此它使用默认 URL 方案。

菜单项也是每个页面使用的 itemID 的来源。如果特定页面没有相关的菜单项,它通常会从前一页继承 itemID,或者在 k2 items/joomla 文章的情况下,它将从链接到内容的父类别的菜单项继承 itemID . itemID 用于确定模块菜单分配。这就是为什么以两种不同的方式访问没有菜单项的特定页面通常会给您提供看起来不同的页面,不同的 itemID 被继承导致显示不同的模块。

由于 Joomla 确实依赖 itemID,因此您应该始终为您正在显示的任何内容指定一个菜单项,即使您不想在菜单中显示链接。通过创建一个不出现在模块中的菜单,您仍然可以获得内容所需的 itemID,但该菜单永远不会出现在任何地方。通常,指向某个类别的链接就足够了,因为子内容将获取该 itemID,但在某些情况下,为特定内容项/文章创建菜单项是有意义的。您可以在任何时候想要一个项目的特定 URL 时执行此操作。例如,如果您想创建一个类似 your-site.com/special-offer 的 URL,您可以为特价创建内容项,然后使用别名 special-offer 创建一个菜单项以获取正确的 URL。

Joomla 还使用菜单项作为浏览器标题和页面标题。您的问题与此无关,所以我会在这里停下来,但正如您所知,知道何时为您的内容创建菜单项非常重要。

于 2011-06-26T13:58:44.403 回答