2012-08-30 105 views
0

有誰知道我可以從模塊的helper.php內得到模塊的「訪問」參數(例如公共,registered..etc)的值?我只能看到$ params,它們都是模塊類型特定的參數,而不是泛型參數。Joomla 2.5 - 如何訪問模塊參數?

我需要檢索的訪問權限和養活他們的插件。

謝謝:)

回答

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); 

希望這有助於

+0

謝謝Lodder,那肯定會工作。沒有想到運行另一個查詢。非常感謝。 Dex – Dex

+0

@Dex - 不客氣:) – Lodder

+0

啊不,我的錯誤 - 請看Elin以上 - 從#__modules,謝謝。 – Dex

0

你的意思是,當你在頁面上呈現的模塊,或者你想知道什麼時候不被渲染呢? 如果用戶有權訪問,JModuleHelper將只渲染一個模塊。

但是,如果你想找出其他原因比渲染需要查詢jos_modules。 模塊訪問級別實際上無法通過查詢jos_extensions表中找到,因爲這並不是指的模塊的特定實例(例如主菜單相對於一些其他菜單這兩者都是mod_menu的實例和其可具有不同的訪問級別)。 (用你自己的,當然前綴)。

附:我認爲這可能是值得的,因爲你可以從助手那裏得到它。對我來說似乎有點武斷,它不會在數組中返回。

+0

如果您承諾不會告訴任何人,那麼Elin,我正在編寫一個模塊來顯示文章,但僅在模塊級別應用ACL,而不是在菜單/組件/類別/文章級別應用ACL。它更快。 不幸的是,Disqus評論插件認爲我已經得到了從文章模型(這我不使用)「訪問」,並需要它來使Disqus SEF URL。 – Dex

+0

所以,是的,當我真的在渲染模塊 – Dex

+0

哦,它是從一篇很奇怪的文章中獲取訪問權限,因爲我認爲這是插件中的錯誤,因爲插件通常無法通過訪問他們檢查的上下文訪問(因爲他們有自己的訪問級別)。 – Elin