【问题标题】:Joomla - how can I count all active instances of specific module type?Joomla - 我如何计算特定模块类型的所有活动实例?
【发布时间】:2014-08-24 19:24:13
【问题描述】:

正如标题所示,我的问题很简单。 有没有办法计算 Joomla 中特定类型/种类的活动模块实例的总数(具有特定模块名称)?

我知道如何使用 JModuleHelper::getModules 对特定模块位置的模块进行计数,但这不是我想要的。 我只需要计算特定类型/种类的所有活动模块实例。

有谁知道如何做到这一点(无需手动执行 MySQL 查询)?

【问题讨论】:

  • 什么是模块类型?
  • “模块类型”是指模块的名称(不是模块实例的标题)

标签: joomla


【解决方案1】:

我不知道有没有官方的joomla方式,但是你可以通过查看sql查询来做到这一点

#__模块

桌子。

看看这张表,你会发现它是多么容易。

一个示例 sql 将是:

select count(id) from #__modules where module = 'mod_login'

【讨论】:

  • 这并不能告诉我页面上是否有任何模块实例。
【解决方案2】:

据我所知,没有用于此的 joomla 方法。我会推荐(如果必须这样做)

  • 使用爬虫遍历网站的所有页面,计算实例数。
  • 或使用脚本通过模板 php 文件和数据库查找所有活动实例。

由于意外情况(例如模块包含在文章中或仅在单击按钮后才包含模块),这两种方法可能都不是 100% 可靠的,但如果您对自己的网站足够了解,则可能会起作用。

【讨论】:

    【解决方案3】:

    不幸的是,Joomla 中似乎没有这样的功能。 在我的情况下,我需要这个来告诉我这个模块的实例是否 > 0 .. 我的替代解决方案是简单地创建一个特定于模块的函数,然后在模块 php 文件中检查函数是否已经加载.

    【讨论】:

      猜你喜欢
      • 2013-01-23
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多