Joomla 2.5 - 如何访问模块参数?

时间:2012-08-30 23:22:20

标签: joomla parameters module

有谁知道如何从模块的helper.php中获取模块的'access'参数(例如public,registered..etc)的值?我只能看到$ params,它们都是模块类型的特定参数,而不是通用参数。

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

谢谢:)

2 个答案:

答案 0 :(得分: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);

希望这有帮助

答案 1 :(得分:0)

您是指在页面上渲染模块还是想知道何时未渲染模块? 如果用户有权访问,JModuleHelper将只呈现模块。

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

P.S。我认为将它作为一个拉取请求放入它可能是值得的,所以你可以从帮助器中获取它。对我来说似乎有点武断,它没有在数组中返回。