Drupal 允许的节点类型自定义下拉列表

发布于 2024-11-25 11:19:31 字数 129 浏览 1 评论 0原文

我正在寻找一些关于如何获取一个数组的建议,该数组包含当前登录用户允许创建的节点类型的链接列表。

我的客户希望这些链接填充位于用户个人资料页面上的自定义下拉列表。

以防万一我无法说服他,我想要一些技术/信息来继续。

I am looking for some advice on how I might fetch an array with a list of links to node types the currently logged in user is allowed to create.

My client wants these links to populate a custom dropdown list which sits on the user profile page.

Just in case I don't manage to talk him out of it, I would like some technique/information to go on.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄居人 2024-12-02 11:19:31

您必须创建一个自定义模块。如果您要创建自己的模块,这个简短的片段将为您提供一个数组 ($types),其中包含登录用户可以创建的内容类型的链接 (D6)。如果用户无法创建任何内容类型,它将显示一条消息:

<?php
  $types = array();
  foreach (node_get_types('types', NULL, TRUE) as $type) {
    if (node_access('create', $type->type)) {
      $types[$type->type] = l($type->name, 'node/add/' . str_replace('_', '-', $type->type));
    }
  }
  if (count($types) == 0) {
    drupal_set_message('You cannot create any content types!', 'warning');
  }
?>

You will have to create a custom module. If you are creating your own module, this short snippet will give you an array ($types) with the links to content types the logged in user can create (D6). If the user cannot create any content types it will show a message:

<?php
  $types = array();
  foreach (node_get_types('types', NULL, TRUE) as $type) {
    if (node_access('create', $type->type)) {
      $types[$type->type] = l($type->name, 'node/add/' . str_replace('_', '-', $type->type));
    }
  }
  if (count($types) == 0) {
    drupal_set_message('You cannot create any content types!', 'warning');
  }
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文