0

ユーザーが自分のサイトで使用できるルートは多数あります。たとえば、ある特定のユーザーの場合、別のユーザーとは異なるナビゲーションが得られます。

ユーザーがどのセクターであるかに応じて、これらの ID を取得し、一意のナビゲーション タイトルを作成するための switch ステートメントを作成しました。

switch($sector_id){
    /*chefs
    case 'f8721714d845eaa5222dcdb4dd642ceb29a280bc':
        $key_array= array('menus','news','staff','directory');
        $url_array = array('/dashboard/menus/','/dashboard/news2/','/dashboard/staff2/','/dashboard/directory2/');
        $name_array = array('Menus2','News2','Staff2','Directory2');'Recipe Stories', 'Blog', 'Events');
        break;*/
    //restaurants, pubs
    case 'c835ff2d2838b3ea45bdb729c641b73b4fa0098d':
    case '378ee5253530d7d02cea3012966deab24bcc5da2':
        $key_array= array('menus','news','staff','directory');
        $url_array = array('/dashboard/menus/','/dashboard/news/','/dashboard/staff/','/dashboard/directory/');
        $name_array = array('Menus','News','Staff','Directory');
        break;

たとえば、これは私がすでに持っているものです(ハードコードされています):

array(  'key'   =>  'profile',
        'url'   =>  '/dashboard/profile/',
        'name'  =>  'Profile'),
array(  'key'   =>  'picture',
        'url'   =>  '/dashboard/picture/',
        'name'  =>  'Profile Picture'),
array(  'key'   =>  'cv',
        'url'   =>  '/dashboard/cv/',
        'name'  =>  'CV').

上記の配列を動的に構築するにはどうすればよいですか? for each ステートメントを使用できますが、ネストする必要がありますか? どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

1

ユーザー タイプごとに静的なナビゲーション html を作成し、ユーザー タイプに基づくファイルだけを含めることを考えましたか? ダイナミック ナビゲーションで「全力」を使いたくない場合は、こちらの方が簡単かもしれません。とにかく、ナビゲーションをハードコーディングします...

また

本当に動的にしたい場合は、すべてのナビゲーション アイテムをテーブル (id、キー、url、名前) に保存し、ユーザー タイプとナビゲーション アイテムの結合テーブルを作成します。

結合テーブルの列: (usertype, navigation_id)

Join Table SQL (未テスト)

SELECT * FROM usertype_navigation un JOIN navigation_items ni on un.navigation_id = ni.id WHERE un.usertype = "c835ff2d2838b3ea45bdb729c641b73b4fa0098d"

これにより、すべてのナビゲーション アイテムが返され、各レコードがループされ、ナビゲーション アイテムの html が出力されます。

于 2012-12-20T20:12:42.187 に答える