0

我有 joomla 2.5,其中文章包含父类别和子类别。如下所示:

  • 第1条分类为新闻->校园->研究所
  • 第2条分类为新闻->校园->大学
  • 第三条分类为新闻->校园->研究所
  • 第4条分类为新闻->校园->大学

在这里,新闻是校园的类别父类,依此类推。我知道每个类别都有独特的 catid。但是,在数据库中,joomla 只根据最后一个类别记录每篇文章。所以,如果我想根据新闻 id 获取文章,那么结果是空数组。所以,我必须选择学院或大学ID。但是,我想要的是如何将文章与学院和大学类别放在一起。

有没有人可以帮助我如何解决joomla 2.5的php问题?

4

2 回答 2

2

类别存储为嵌套集。如果您从数据库中检索“新闻”类别,则“lft”和“rgt”列包含所有子类别的边界值。查询

SELECT * FROM #__categories AS category
LEFT JOIN  #__categories AS parent
    ON category.lft BETWEEN parent.lft AND parent.rgt
WHERE parent.id = 3

将为您提供 ID 为 3 的类别的所有子类别。请改用“新闻”类别的 ID。

请记住,查询绝不是优化的,只是为了说明该方法。

于 2013-03-27T04:53:04.667 回答
0

如果您想在模块中显示文章,您可以使用允许显示预选类别中的内容的文章模块之一,例如模块文章类别 (选项 > 过滤选项 > 类别 > 学院、大学)

如果您想在主(内容)窗口而不是模块中显示这些文章:

  1. 创建新文章
  2. put "{loadposition xx}or {loadmodule yyy}code inside(请参阅如何将模块放入文章中?

如果您对使用的数据库查询感兴趣,则基础是ContentModelArticles 模型,这些模块和菜单项Content> Featured article 使用这些模型,它也允许预选类别。

于 2013-03-27T09:48:48.963 回答