0

有谁知道我如何从模块的 helper.php 中获取模块的“访问”参数的值(例如公共、注册..等)?我只能看到 $params,它们都是模块类型特定的参数,而不是通用参数。

我需要检索访问权限并将它们提供给插件。

谢谢 :)

4

2 回答 2

0

您需要为此运行 SQL 查询。

对于 1 个特定模块:

$db =& JFactory::getDBO();
$query = 'SELECT access FROM #__modules WHERE element="mod_yourmodule"';
$db->setQuery($query);
$result = $db->loadResult();
print_r($result);

不要忘记更改mod_yourmodule为您想要数据的任何模块。

对于所有模块:

$db =& JFactory::getDBO();
$query = 'SELECT access FROM #__modules';
$db->setQuery($query);
$result = $db->loadResult();
print_r($result);

希望这可以帮助

于 2012-08-31T00:04:39.547 回答
0

你的意思是当你在页面上渲染一个模块或者你想知道它什么时候没有被渲染?如果用户有权访问,JModuleHelper 只会呈现模块。

但是如果你想找出除了渲染之外的其他原因,你需要查询 jos_modules。模块访问级别实际上不能通过查询 jos_extensions 表找到,因为它不涉及模块的特定实例(例如主菜单与其他一些菜单,它们都是 mod_menu 的实例并且可能具有不同的访问级别)。(当然使用你自己的前缀。)

PS我认为将它作为拉取请求放入可能是值得的,这样你就可以从助手那里得到它。对我来说似乎有点武断,它没有在数组中返回。

于 2012-08-31T00:45:15.890 回答