代码之家  ›  专栏  ›  技术社区  ›  Ben

Drupal使用活动轨迹属性创建动态菜单

  •  0
  • Ben  · 技术社区  · 15 年前

    我想创建一个动态菜单,将获得它的项目从某个节点类型。我想我可以创建一个标题视图并把它放在一个块中。但是,当有人点击其中一个标题时,我想突出显示它,并希望有一种向链接中添加活动类的方法。我知道Drupal会自动为菜单执行此操作,但是我可以为基于视图的菜单执行此操作吗?

    2 回复  |  直到 9 年前
        1
  •  0
  •   Trey    14 年前

    为什么不把安德鲁斯的想法和钩子形式结合起来呢?像这样的方法会奏效:

    假设您的内容类型称为“mycontent”:

    在您的内容类型设置下,将允许的菜单父级设置为只包含您想要的菜单,我们称之为“自定义”。在模块文件中添加以下代码:

    mymodule_form_alter(&form, &$form_state, $form_id){
      if($form_id=="mycontent_node_form"){
        $form['menu']['enabled']['#default_value'] = 1;
        $form['menu']['link']['parent']['#default_value'] = "menu-custom:0";
      }
    }
    

    如果您担心用户没有将其内容添加到菜单中,此行将取消他们对表单项的控制:

    $form['menu']['#disabled']=true;
    
        2
  •  0
  •   Andrew    15 年前

    我不太确定您对“动态菜单”的要求,但标题视图的另一种选择可能是设置自定义菜单,然后在创建这些节点时,将它们设置为节点编辑窗体中该菜单的一部分。然后在块中显示该菜单,您将获得所需活动项的高亮显示。

    推荐文章