drupal - 以编程方式显示/更改菜单链接

标签 drupal

当匿名用户访问该网站时,主链接中的最后一项需要显示“登录”。但是,如果他们已登录,则需要显示“帐户”。

在代码中实现此目的最简单的方法是什么?

最佳答案

我通过使用 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 处理菜单权限的方式,登录用户不会看到 Login(登录用户无权访问 user/login),但会看到帐户,注销的用户将看到登录,但不会看到帐户(匿名用户无权访问user/me )。

关于drupal - 以编程方式显示/更改菜单链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3671710/

相关文章:

php - html/blog中的代码效果

php - 在 Drupal 8 站点中找不到类 "DOMDocument"

php - 通过表单将文件上传到 Drupal 7 后,如何获取文件的路径?

javascript - 在 Drupal 7 中缩小 CSS 和 JS 文件的最佳方法是什么?

加载更多后 jQuery 效果不起作用

drupal - 是否有 drupal 6 hook 来处理登录身份验证而不从登录表单发布?

mysql - 从 MySQL 连接表插入

drupal - twig drupal 8 中的 switch 语句

使用自定义 php 代码的 drupal 条件操作

drupal - 在 Drupal 6 中包含特定节点的 CSS 或 Javascript 文件