Beispiel #1
0
 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;
 }
Beispiel #2
0
 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());
 }