0

yii2 の高度なテンプレート フロントエンドでデータベースからメニューを表示したいだけです。また、静的メニューもあります。メニューウィジェットを使用しています

これが私のコードです

           <?php
              echo Menu::widget([
                'options' => ['class' => 'about_content'],
                'items' => CMS::getCMSPages(),
              ]);
            ?>

ここで CMS::getCMSPages() はデータベースからメニューを取得します。また、静的メニューもあります。だから私はこのようにメニューウィジェットに追加しました

           <?php
              echo Menu::widget([
                'options' => ['class' => 'about_content'],
                'items' => [[CMS::getCMSPages()],
                     ['label' => 'contact', 'url' => ['site/index']]
                 ]

              ]);
            ?>

しかし、これは機能していません。誰か助けてくれ

4

1 に答える 1

1

CMS::getCMSPages()メソッドは、適切に準備されたアイテムの配列を返す必要があります。このようなもの:

[
    ['label' => 'Home', 'url' => ['site/index']],
    ['label' => 'Products', 'url' => ['product/index'],
]

また、項目配列をマージする必要があります:

<?php
  echo Menu::widget([
    'options' => ['class' => 'about_content'],
    'items' => array_merge(CMS::getCMSPages(), [['label' => 'contact', 'url' => ['site/index']]])
  ]);
?>
于 2015-08-18T11:47:01.610 に答える