Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在drupal中创建动态链接_Drupal_Dynamic_Menu_Hyperlink - Fatal编程技术网

在drupal中创建动态链接

在drupal中创建动态链接,drupal,dynamic,menu,hyperlink,Drupal,Dynamic,Menu,Hyperlink,有人能告诉我如何在drupal中创建动态链接吗 我想创建一个指向组成员列表的链接。我已经用参数创建了视图。如何创建指向视图的菜单项链接?这将因群体而异 谢谢简而言之,你不能。Drupal的菜单系统缓存整个菜单:菜单项对于不同的用户不能有不同的显示(尽管您可以为他们设置访问权限)。如果要显示菜单项,必须在hook\u menu()(仅在重建菜单时调用)中注册它们,或者必须在菜单管理中手动添加它们 上的手册页提供了有关此方面的更多信息 但是,可以使用视图中的块显示和HTML列表行样式创建假菜单。如果

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

我想创建一个指向组成员列表的链接。我已经用参数创建了视图。如何创建指向视图的菜单项链接?这将因群体而异


谢谢

简而言之,你不能。Drupal的菜单系统缓存整个菜单:菜单项对于不同的用户不能有不同的显示(尽管您可以为他们设置访问权限)。如果要显示菜单项,必须在
hook\u menu()
(仅在重建菜单时调用)中注册它们,或者必须在菜单管理中手动添加它们

上的手册页提供了有关此方面的更多信息


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

如果您基于单个视图提取不同的“组”,则可能需要使用视图参数来过滤结果。我想从这里开始学习更多关于观点和论点的知识:,如果这确实是您想要实现的

编辑:


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

我为这种情况创建了重定向链接。例如,如果我想要一个菜单链接将用户指向他们的用户编辑页面,我将实现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');
}

谢谢马克的回答。我喜欢你关于假菜单的想法,并将对此进行调查。我没有太多的编程drupal的经验,但可能也尝试过使用hook_菜单-我将不得不在某个时候学习!谢谢你的回答,我后来意识到我可以把论点放在最后,但是我想看看所有组都使用相同的菜单,因此菜单路径需要根据查看的组自动更改。这将节省管理员每次创建菜单项的时间。