2010-09-08 69 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

相关问题