Drupal 6:在菜单项上添加子菜单项?

cod*_*ama 5 drupal-6

我有一个钩子:

function node_field_link_menu() 
{
    $items['order_food'] = array(
        'title' => 'Products',
        'page callback' => 'node_field_link_products_page',
        'access callback' => TRUE,
        'menu_name' => 'primary-links',  
        'type' => MENU_NORMAL_ITEM,
    );
  return $items;
}
Run Code Online (Sandbox Code Playgroud)

这给了我菜单项,我很高兴.问题是,我希望项目在这个菜单项下,所以我最终得到:

- Products
   - Product 1
   - Product 2
   - Product 3
   - Product 4
Run Code Online (Sandbox Code Playgroud)

我读到你可以使用"plid",但问题是,在这种情况下,我不知道PLID是什么,因为我刚刚创建了父.所以我不能这样做:

function node_field_link_menu() 
{
    $items['order_food/procuct1'] = array(
        'title' => 'Product 1',
        'page callback' => 'node_field_link_products_page1',
        'access callback' => TRUE,
        'menu_name' => 'primary-links',  
        'type' => MENU_NORMAL_ITEM,
        'plid' => XXX?,
    );
  return $items;
}
Run Code Online (Sandbox Code Playgroud)

那么如何在Drupal 6中创建的菜单项下面添加另一个菜单项呢?

Dav*_*vid 0

你所做的应该在没有“plid”的情况下工作。Drupal 可以识别路径模式并为您完成工作。这意味着,如果您有“order_food”路径和“order_food/product1”路径,则product1 将是“order_food”的子级。创建菜单后您所需要做的就是清除 Drupal 的缓存。

刚刚在新的 Drupal 6 实例上尝试过,清除了缓存,我发现它正在工作:

$items['order_food'] = array(
    'title' => 'Product',
    'page callback' => 'node_field_link_products_page',
    'access callback' => TRUE,
    'menu_name' => 'primary-links',
    'type' => MENU_NORMAL_ITEM,
);
$items['order_food/product1'] = array(
    'title' => 'Product1',
    'page callback' => 'node_field_link_products_page1',
    'access callback' => TRUE,
    'menu_name' => 'primary-links',
    'type' => MENU_NORMAL_ITEM,
);
Run Code Online (Sandbox Code Playgroud)

打开“admin/build/menu-customize/primary-links”的 URL 将显示 Product1 作为 Product 的子项。