2010-09-08 68 views
2

當一個匿名用戶來到現場,在主鏈接的最後一個項目需要說登錄。但是,如果他們已登錄,則需要說明帳戶。編程方式顯示/更改菜單鏈接

什麼在代碼實現這一目標的最簡單的方法?

回答

4

我通過使用me aliases模塊生成用於登錄的用戶(例如user/me)帳戶頁面一個單路徑和同時添加user/meuser/login到菜單實現此目的。

如果你想以編程方式做到這一點,你會使用menu_link_save()

$account = array(
    'link_path' => 'user/me', 
    'link_title' => t('Account'), 
    'weight' => 100, 
); 

$login = array(
    'link_path' => 'user/login', 
    'link_title'=> t('Login'), 
    'weight' => 100, 
); 

menu_link_save($account); 
menu_link_save($login); 

由於Drupal的處理菜單權限的方式登錄的用戶將不會看到登錄(登錄的用戶沒有訪問user/login),但會看到帳戶,並註銷用戶將看到登錄,但不會看到帳戶(匿名用戶沒有訪問user/me)。

+0

哇,這是比我想象的要容易得多。以前從未聽說過這個模塊。謝謝。 – Kevin 2010-09-09 13:23:45

相關問題