在drupal中创建动态链接

时间:2010-08-03 16:24:01

标签: drupal dynamic menu hyperlink

有人能告诉我如何在drupal中创建动态链接吗?

我想创建一个指向组成员列表的链接。我用参数创建了视图。如何创建菜单项链接到视图?根据小组不同,它会有所不同。

由于

3 个答案:

答案 0 :(得分:1)

我为这种情况创建了一个重定向链接。例如,如果我想要一个菜单​​链接将用户引导到他们的用户编辑页面,我将实现hook_menu(),如下所示:

function my_module_menu()
{
  $menu['user/cp'] = array
  (
    'title' => 'User Control Panel',
    'page callback' => 'user_cp_redirect_page',
    'access callback' => 'user_is_logged_in',
    'type' => MENU_CALLBACK,
  );

  return $menu;
}

然后,我将页面回调设置为如下所示:

function user_cp_redirect_page()
{
  global $user;

  drupal_goto('user/' . $user->uid . '/edit');
}

答案 1 :(得分:0)

总之,你不能。 Drupal的菜单系统缓存整个菜单:不同用户的菜单项不能以不同方式显示(尽管您可以为它们设置访问权限)。如果要显示菜单项,则必须在hook_menu()中注册它们(仅在重建菜单时调用),或者必须在菜单管理中手动添加它们。

Menu system上的手册页提供了有关此内容的更多信息。

但是,您可以使用视图中的块显示和HTML列表行样式创建假菜单。如果您希望在主菜单结构之外有一个类别列表块,这将非常有用。

答案 2 :(得分:0)

如果您根据单个视图提取不同的“组”,您可能需要使用视图参数来过滤结果。我将从这里开始了解有关观点参数的更多信息:http://drupal.org/node/54455,如果这确实是你想要完成的事情。

修改

我想如果我完整地阅读这个问题会有所帮助。听起来你已经在为你的观点使用参数了。在这种情况下,您已经创建了指向页面的动态链接。尝试将每个“组”的参数放在URL的末尾。例如,如果创建带有路径新闻的页面显示,则可以通过在URL的末尾附加参数来传递参数。因此,如果您使用“节点:创建年份”创建了一个参数,则可以通过放置类似于example.com/news/2009的内容来过滤此内容,以仅访问2009年创建的节点。您传递的内容取决于类型您创建的参数。