2012-09-25 142 views
1

我只是想根據用戶是否屬於一組自定義組件來顯示模塊 - 包括如果他屬於某個特定組,則不可見。例如,廣告展示給公衆並註冊,但不是定製的「高級」組。一個留言箱應該顯示註冊和保費,但不是「未登錄」。因此,就我所知,「客人」和「特殊」羣體毫無用處。我錯過了很簡單的事情嗎?Joomla 2.5模塊權限

如果我使用第三方組件/模塊來實現這一點,那麼免費或便宜的將是最有利的。

謝謝。

回答

1

實現此目的的一種方法是編輯和創建新的訪問級別。爲了掩蓋您在問題中給出的示例,可以使用以下示例:

您需要讓根目錄父組中的客戶脫離,名稱爲Public。您可以通過以下三個步驟做到這一點:

  1. 使用用戶管理,創建一個名爲「客人」新組公共父。
  2. 打開用戶管理器選項
  3. 更改來賓用戶組到您的新羣組來賓

您的網站上的客人將從現在開始被放入來賓組。現在您可以爲廣告創建訪問級別。因此,創建一個新的訪問級別,將其命名爲「非高級用戶」並添加來賓已註冊。現在將此訪問級別應用於模塊,它應該可以工作。請注意,高級團隊不能將註冊爲作爲父級。

接下來是吼吼箱的訪問級別。我看到這個訪問級別有兩個選項。其中之一是創建一個新的訪問級別,並添加註冊高級它。但更簡單的方法是將Premium組添加到已存在的訪問級別已註冊

有用ACL鏈接:

0

無的ACL水平的工作時間,我100%,我就砍我所用的模板,並添加在一些代碼中...

<?php 

// make sure user is an accepted user group 
jimport('joomla.user.helper'); 
$user =& JFactory::getUser(); 
$userId = $user->get('id'); 
$groups = JUserHelper::getUserGroups($userId); 

// print_r($groups); 
/* 
3 Author 
4 Editor 
5 Publisher 
6 Manager 
7 Administrator 
8 Super Users 
*/ 

$menu = '' ; 
if (in_array("3", $groups)) { 
     // echo "<!-- Author Group Found! -->"; 
     // echo '<!-- USER ID: ' . $userId . ' -->'; 
     $menu .= " 
     <a href='http://yourdomain.com/authors-area'>Authors Area</a> 
     " ; 
} elseif(in_array("4", $groups)) { 
$menu .= " 
     <a href='http://yourdomain.com/editors-area'>Editors Area</a> 
     " ; 
} elseif(in_array("5", $groups)) { 
$menu .= " 
     <a href='http://yourdomain.com/publishers-area'>Publishers Area</a> 
     " ; 
} elseif(in_array("6", $groups)) { 
$menu .= " 
     <a href='http://yourdomain.com/managers-area'>Managers Area</a> 
     " ; 
} elseif(in_array("7", $groups)) { 
$menu .= " 
     <a href='http://yourdomain.com/administrators-area'>Administrators Area</a> 
     " ; 
} elseif(in_array("8", $groups)) { 
$menu .= " 
     <a href='http://yourdomain.com/superusers-area'>Super Users Area</a> 
     " ; 
} else { 
    $null = '' ; ; 
    } 
?>