public function actionIndex() { $gh = Yii::$app->user->gh; $modelsSort = []; $models = MWxMenu::getSubModels($gh->gh_id); if (empty($models)) { MWxMenu::importFromWechat($gh->gh_id); $models = MWxMenu::getSubModels($gh->gh_id); } foreach ($models as $model) { $modelsSort[] = $model; if ($model->is_sub_button) { $subModels = MWxMenu::getSubModels($gh->gh_id, $model->wx_menu_id); $modelsSort = array_merge($modelsSort, $subModels); } } $dataProvider = new ArrayDataProvider(['allModels' => $modelsSort, 'key' => 'wx_menu_id', 'pagination' => ['pageSize' => 50]]); return $this->render('index', ['dataProvider' => $dataProvider]); }
$form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'name')->textInput(['maxlength' => 64]); ?> <div class="is_sub_button"> <?php echo $form->field($model, 'is_sub_button')->dropDownList(MWxMenu::getSubButtonOptionName())->label('是否是目录菜单'); ?> </div> <div class="leaf"> <?php echo $form->field($model, 'parent_id')->dropDownList(\yii\helpers\ArrayHelper::map(MWxMenu::getSubModels($gh->gh_id), 'wx_menu_id', 'name'))->label('父菜单'); ?> <?php echo $form->field($model, 'type')->dropDownList(MWxMenu::getMenuTypeOptionName()); ?> <div class="click"> <?php echo $form->field($model, 'keyword')->textInput(['maxlength' => 128]); ?> </div> <div class="view"> <?php echo $form->field($model, 'url')->textInput(['maxlength' => 512]);
public static function getButtonsFromDb($gh_id) { $models = MWxMenu::getSubModels($gh_id); $buttons = []; foreach ($models as $model) { if ($model->is_sub_button) { $subModels = MWxMenu::getSubModels($gh_id, $model->wx_menu_id); $subButtons = []; foreach ($subModels as $subModel) { $subButtons[] = $subModel->getButton(); } $buttons[] = new ButtonComplex($model->name, $subButtons); } else { $buttons[] = $model->getButton(); } } return $buttons; }