最近有一个朋友在QQ群里提问:在别的菜单栏的文章点开后,为什么都跳转到首页啊,文章详情,这个可以在本页面跳转吗?这是新手经常遇到的一个问题,在这一节我讲来说明一下如何来解决。

 问题描述

 在joomla上面,在别的菜单栏的文章点开后,为什么都跳转到首页啊,文章详情,这个可以在本页面跳转吗?

问题原因

导致这个原因主要是因为系统不能匹配到当前文章所关联的菜单项ID,自动的默认首页。在一些特殊情况下(比如:首页设置了不显示组件位置时),会导致整个文章完全不显示。

解决方案

我们需要创建一个菜单项,将菜单项的类型设置为文章列表。然后选择你需要展示的文章分类的ID.举例说明如下:

假设你新建了一篇文章A,这个文章所在的分类为“最新新闻”这个分类。为了避免当用户点击文章A的时候系统自动跳转到首页,此时你需要创建一个菜单项,菜单项类型设置为文章列表,然后选择“最新分类这个文章”。这样当需要展示A文章详情的时候就会匹配这个菜单项了,而不是匹配首页。

按照这个说法,那我是不是每创建一个分类就需要对应的创建一个文章列表菜单项呢?那岂不是很麻烦。当然,你完全不用担心这样,一般情况下,我们可以创建一个根分类,将所有新建的分类都设置到这个根分类的子分类。这样我们只需要给这个根分类创建一个文章列表菜单项就自动的给所有的文章都创建了菜单项。

小技巧

是不是我一定要创建一个文章列表的菜单项呢?回到是肯定的,为了避免出现文章跳转到首页的情况,你至少需要创建一个文章列表的菜单项。但你可以将这个菜单项不显示在导航栏上。比如你单独的创建一个隐藏菜单,或者设置这个菜单项不显示在菜单栏上。

joomla是如何匹配菜单项的原理

  1. STEP 1:系统会自动的搜索菜单项,看看是不是存在单篇文章的菜单项类型,且显示的文章为当前指定指定的文章ID.如果匹配。那么就返回
  2. STEP 2:当第一步不匹配的时候,就会尝试匹配该文章所在的分类是否创建了菜单项,如果创建了,就返回。如果不匹配,就继续递归分类的父分类。
  3. STEP 3:当第三不不匹配的时候,系统可能会直接返回当前的菜单项,也可能返回首页。这个依赖与设置参数

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前