2015-11-11 28 views
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; 
} 

これは私に私のメニュー項目を与え、私はそれに満足しています。問題は、私は、このメニュー項目の下の項目をしたいので、私はで終わる、次のとおりです。

- Products 
    - Product 1 
    - Product 2 
    - Product 3 
    - Product 4 

私はあなたが「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; 
} 

だから私は、私はDrupalの6で作成したメニュー項目の下に別のメニュー項目を追加することができますか?

答えて

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, 
); 

「管理者/ビルド/メニューカスタマイズ/プライマリリンク」のURLを開く表示されます製品の子としてのProduct1。

関連する問題