/** * @return \yii\db\ActiveQuery */ public function getMenus() { return $this->hasMany(Menu::className(), ['parent_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getParent() { return $this->hasOne(Menu::className(), ['id' => 'parent_id']); }
echo JSTreeWidget::widget(); ?> </div> <div class="col-md-9"> <p> <?php echo Html::a(Yii::t('b/menu', 'Create Menu'), ['create'], ['class' => 'btn btn-success']); ?> </p> <?php Pjax::begin(['id' => 'mainGridContainer']); ?> <?php echo TreeNavBarWidget::widget(['className' => Menu::className(), 'parent_id' => $parent_id]); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'title', ['label' => Yii::t('b/menu', 'Status'), 'format' => 'raw', 'value' => function ($model) { return Yii::t('b/menu', 'status' . $model->status); }], ['label' => Yii::t('b/menu', 'Sub menus'), 'format' => 'raw', 'value' => function ($model) { return Html::a($model->getChildrenCount(), ['index', 'parent_id' => $model->id]); }], ['class' => 'yii\\grid\\ActionColumn']]]); ?> <?php Pjax::end(); ?> </div> </div>
public function actions() { return ['get-level-data' => ['class' => actionGetLevelData::className(), 'modelClass' => Menu::className()], 'move-item' => ['class' => actionMoveItem::className(), 'modelClass' => Menu::className()]]; }