1

我在 drupal 7 中创建了一个带有登录链接的菜单。即使用户登录,它也保持不变。如何将其更改为已通过身份验证的用户注销?

4

3 回答 3

1

我不得不使用 2 个菜单来克服这个问题。一个用于经过身份验证的用户的菜单,另一个用于匿名用户。然后我使用menu_block contrib 模块根据用户登录状态在同一个地方打印出两个菜单。

希望这对您有所帮助……穆罕默德。

于 2012-10-25T12:52:35.133 回答
1

它保持不变的原因可能是因为您提供了登录的绝对网址。为了在同一菜单中创建登录注销链接,请按照以下步骤操作。

  1. 对于登录菜单链接标题:“登录”路径:“用户/登录”

  2. 对于注销菜单链接标题:“注销”路径:“用户/注销”

现在它应该像预期的那样工作。登录链接将显示给匿名用户,注销链接将显示给经过身份验证的用户。

为了以编程方式创建此类菜单项,

$item = array(
  'link_path' => 'user/login',
  'link_title' => t('Sign In'),
);
menu_link_save($item);
$item = array(
  'link_path' => 'user/logout',
  'link_title' => t('Logout'),
);
menu_link_save($item);

还有更多可用的选项可以传递给 menu_link_save,请查看此链接以了解更多信息。

于 2012-10-27T18:47:48.167 回答
0

默认情况下,核心菜单带有用户菜单。它包含当前登录用户的 /user,但不显示匿名访问。为此,您可以:

  1. 进入用户菜单:admin/structure/menu/manage/user-menu。
  2. 添加一个带有路径的新链接:user/login。
  3. 添加您需要的标题。
  4. 节省

查看用户模块上的 hook_menu 实现以获取更多详细信息,但本质上它只对匿名用户显示。

希望这可以帮助

于 2015-03-24T16:01:08.587 回答