public function init() { parent::init(); // ... other initialization code ... \Yii::$container->set("chd7well\\smartmenu\\models\\Menu", 'chd7well\\smartmenu\\models\\Menu'); if (isset(\Yii::$app->params['chd7well/smartmenu/onlymainmenu']) && \Yii::$app->params['chd7well/smartmenu/onlymainmenu'] == 0) { //all menues are used $menuitems = Menu::findAll()->all(); } else { $menuitems = Menu::findAll(['type_ID' => 1, 'parent_ID' => null]); } if (isset($menuitems)) { foreach ($menuitems as $menuitem) { $submenus = Menu::find()->where(['type_ID' => 1, 'parent_ID' => $menuitem->ID])->orderBy('weight')->all(); if (isset($submenus)) { $smenu = []; foreach ($submenus as $submenu) { $smenu[] = ['label' => $submenu['label'], 'url' => $submenu['url']]; } $this->addItem($menuitem->label, $menuitem->url, $menuitem->weight, $menuitem->comment, $menuitem->noguest, $menuitem->parent_ID, $menuitem->type_ID, $smenu); } else { $this->addItem($menuitem->label, $menuitem->url, $menuitem->weight, $menuitem->comment, $menuitem->noguest, $menuitem->parent_ID, $menuitem->type_ID); } } } }
/** * @return \yii\db\ActiveQuery */ public function getMenus() { return $this->hasMany(Menu::className(), ['parent_ID' => 'ID']); }