public function getMenuSections($model) { $builder = \Yii::$app->getModule('cms')->model('MenuBuilder'); $newLink = new Menuitem(); $newLink->builder = $builder; $items = []; foreach ($builder->generateMenuSections() as $key => $section) { $items[] = ['label' => $section['label'], 'content' => $this->renderPartial('_selectOptions', ['items' => $section['items'], 'section' => $key, 'model' => $newLink])]; } $newLink->menu_id = $model->id; $newLink->parent_id = 0; if ($newLink->load(\Yii::$app->request->post()) && $newLink->save()) { \Yii::$app->session->setFlash('success', 'New menu item added'); return $this->refresh(); } $items[] = ['label' => 'Custom link', 'content' => $this->renderPartial('_custom_link', ['model' => $newLink], true)]; return $items; }
public static function updateItems($items, $parent_id = 0) { print_r($items); $i = 1; foreach ($items as $item) { if ($_item = Menuitem::findOne($item['id'])) { // echo 'item found ' . $item['id']; $_item->sortIdx = $i++; $_item->parent_id = $parent_id; $_item->save(); } else { //echo 'item not found ' . $item['id'], PHP_EOL; } if (isset($item['children'])) { self::updateItems($item['children'], $item['id']); } } }
public function down() { $this->dropColumn(\tpoxa\cmars\models\Menuitem::tableName(), 'sortIdx'); return true; }
public function down() { $this->dropTable(Menu::tableName()); $this->dropTable(Menuitem::tableName()); }