0

現在、以下のコードで作成されたカスタム メニュー項目があり、うまく機能します。

function myModule_menu(){
    $items = array();

    $items['myModule'] = array(
        'title' => 'Business Owner Dashboard',
        'page callback' => '_custom_page',
        'access arguments' => array('use_business_dashboard'),
        'type' => MENU_NORMAL_ITEM,
    );

    return $items;
}

問題は、1 つだけでなく、複数のロールに対して複数のメニュー項目を作成したいということです。どういうわけかスイッチケースを使用できると思いますが、方法がわからず、トピックに関するドキュメントが見つかりません.

明確にするために、同じ myModule_menu() 関数を使用して、「ビジネス所有者ダッシュボード」と、異なる「ページ コールバック」、「アクセス引数」などを持つ「紹介」と呼ばれる別のメニュー項目を設定したいと考えています。このトピックは大歓迎です!

4

1 に答える 1

0

メニュー項目を追加するのは非常に簡単です。$items配列に別の要素を定義するだけです。

function myModule_menu() {
    $items['admin/business'] = array(
        'title' => 'Business',
        'description' => 'Business.',
        'page callback' => '_administer_business',
        'access arguments' => array('administer business'),
        'file' => 'business.admin.inc', //if the page callback function is in another file
    );
    if (referrals_allowed) {
        $items['admin/referrals'] = array(
            'title' => 'Referals',
            'description' => 'Referrals.',
            'page callback' => '_administer_referrals',
            'access arguments' => array('administer referrals'),
            'file' => 'referrals.admin.inc', //if the page callback function is in another file
        );
    }

    return $items;
}
于 2012-06-13T08:52:40.607 に答える