2010-08-03 116 views
0

任何人都可以告诉我如何在drupal中创建动态链接吗?在drupal中创建动态链接

我想创建一个链接到组成员列表。我用观点创造了观点。如何创建视图的菜单项链接?这取决于团队会有所不同。

谢谢

回答

0

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

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

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

+0

谢谢马克的回答。我喜欢你关于假菜单的想法,并会研究这一点。我没有太多的编程Drupal的经验,但也可能会去使用hook_menu - 我将不得不在某些时候学习! – Ben 2010-08-03 18:09:26

0

这听起来像你可能需要使用视图参数来过滤你的结果,如果你是基于单个视图拉不同的“组”。我会从这里开始学习更多关于视图参数:http://drupal.org/node/54455,如果这确实是你想要完成的。

编辑:

我想,如果我完全看问题,这将有助于。这听起来像你已经在为你的视图使用参数。在这种情况下,您已经创建了动态链接到您的页面。尝试将每个“组”的参数放在URL的末尾。例如,如果使用路径新闻创建页面显示,则可以通过将参数附加到URL末尾来传递参数。因此,如果您使用“Node:Created Year”创建了参数,则可以通过放置诸如example.com/news/2009的内容来仅过滤2009年创建的节点来过滤此内容。您传递的内容取决于类型你创建的论点。

+0

感谢您的回答,后来我意识到我可以将论点放在最后,但是我想看看为所有组使用相同的菜单,所以菜单路径将需要根据所查看的组自动更改。这将节省管理员每次都必须创建菜单项。 – Ben 2010-08-03 18:13:47

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'); 
}