예제 #1
0
파일: Menu.php 프로젝트: s-nice/snece
 public static function getMenus($pid = 0)
 {
     $arr = array();
     $arr[0] = '作为一级菜单';
     $menus = Menu::find()->where(['pid' => $pid])->all();
     if ($menus) {
         foreach ($menus as $key => $value) {
             $arr[$key] = $value->name;
         }
     }
     return $arr;
 }
예제 #2
0
파일: MenuSearch.php 프로젝트: npk/v2sex
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Menu::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'order' => $this->order]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'route', $this->route])->andFilterWhere(['like', 'data', $this->data]);
     return $dataProvider;
 }
예제 #3
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Menu::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['id' => SORT_ASC, 'sort_val' => SORT_ASC]]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'pid' => $this->pid, 'mg_id' => $this->mg_id, 'sort_val' => $this->sort_val, 'created_at' => $this->created_at]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'url', $this->url])->andFilterWhere(['like', 'param', $this->param])->andFilterWhere(['like', 'theme', $this->theme]);
     return $dataProvider;
 }
예제 #4
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Menu::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'timestamp' => $this->timestamp]);
     $query->andFilterWhere(['like', 'title', $this->title]);
     return $dataProvider;
 }
예제 #5
0
            height: 13px;
            width: 13px;
        }
        
        .notice {
            color: #c33;
        }
    </style>

    <div class="col-md-12">
        <div class="row">
            <div class="col-md-4">
                    <label>Select Menu</label>
                    <select name="MENU_select" class="form-control MENU_select">
                        <?php 
$menus = Menu::find()->all();
foreach ($menus as $key) {
    echo '<option value="' . $key->id . '">' . $key->title . '</option>';
}
?>
                    </select>

            </div>
        </div>
        
    </div>

<div class="col-md-4">

                <div class="box dark full-screen-box">
                  <header>
예제 #6
0
                <img src="<?php 
echo Yii::$app->user->identity->avatar48;
?>
" class="img-rounded" alt="User Image"/>
            </div>
            <div class="pull-left info">
                <p><?php 
echo Yii::$app->user->identity->username;
?>
</p>

                <a href="#"><i class="fa fa-circle text-success"></i> Online</a>
            </div>
        </div>

        <?php 
$item = [];
$menu = Menu::find()->orderBy('order')->all();
foreach ($menu as $k => $m) {
    $item[$k]['label'] = $m->data . '<span>' . $m->name . '</span>';
    $item[$k]['url'] = [$m->route];
}
?>
        <?php 
echo Nav::widget(['encodeLabels' => false, 'activateItems' => true, 'options' => ['class' => 'sidebar-menu'], 'items' => $item]);
?>

    </section>

</aside>
예제 #7
0
 /**
  * Lists all Menu models.
  * @return mixed
  */
 public function actionIndex()
 {
     $dataProvider = new ActiveDataProvider(['query' => Menu::find()]);
     return $this->render('index', ['dataProvider' => $dataProvider]);
 }
예제 #8
0
 /**
  * 快捷菜单
  * @return  {[type]} [description]
  * @version 1.0      2016-01-25T12:24:11+0800     * @author cnzhangxl@foxmail.com
  */
 public function actionMy()
 {
     $dataProvider = new ActiveDataProvider(['query' => Menu::find()->andWhere(['mg_id' => Yii::$app->user->id])->orderBy('sort_val asc')]);
     return $this->render('my', ['dataProvider' => $dataProvider]);
 }
예제 #9
0
 public function actionDataTables()
 {
     $responseType = Yii::$app->request->get('type');
     $returnData = [];
     switch ($responseType) {
         case "fetch":
             $returnData = Menu::find()->select(['id', 'name', 'parent', 'route', 'order', 'data'])->where(['parent' => Yii::$app->request->get('id')])->orderBy(['order' => SORT_ASC])->all();
             return Json::encode($returnData);
         case "crud":
             $requestAction = Yii::$app->request->post('action');
             switch ($requestAction) {
                 case "create":
                     $requestID = key(Yii::$app->request->post('data'));
                     $requestData = Yii::$app->request->post('data')[$requestID];
                     $model = new Menu();
                     //块赋值
                     $model->attributes = $requestData;
                     //返回错误信息给datatable
                     if (!$model->validate()) {
                         $fieldErrors = [];
                         foreach ($model->errors as $name => $status) {
                             $fieldErrors[] = ['name' => $name, 'status' => Json::encode($status)];
                         }
                         return Json::encode(['fieldErrors' => $fieldErrors, 'data' => []]);
                     }
                     if ($model->save()) {
                         $requestData['id'] = $model->id;
                         $data = [];
                         $data[] = $requestData;
                         return Json::encode(['data' => $data]);
                     } else {
                         var_dump($model->errors);
                         $error = '恢复操作发生意外!';
                         throw new Exception($error);
                     }
                 case "edit":
                     $editID = array_keys(Yii::$app->request->post('data'));
                     //执行事务,保存必须都成功了才行
                     $transaction = Menu::getDb()->beginTransaction();
                     //返回值
                     $data = [];
                     try {
                         foreach ($editID as $requestID) {
                             $requestData = Yii::$app->request->post('data')[$requestID];
                             $model = Menu::findOne($requestID);
                             //块赋值
                             $model->attributes = $requestData;
                             //返回错误信息给datatable
                             if (!$model->validate()) {
                                 $fieldErrors = [];
                                 foreach ($model->errors as $name => $status) {
                                     $fieldErrors[] = ['name' => $name, 'status' => Json::encode($status)];
                                 }
                                 return Json::encode(['fieldErrors' => $fieldErrors, 'data' => []]);
                             }
                             $model->save();
                             //单个字段更新的时候
                             if (count($requestData) == 1 || !is_array($requestData)) {
                                 $requestData = Menu::find()->select(['id', 'name', 'parent', 'route', 'order', 'data'])->where(['id' => $requestID])->one();
                             } else {
                                 $requestData['id'] = $requestID;
                             }
                             $data[] = $requestData;
                         }
                         //提交事务
                         $transaction->commit();
                         return Json::encode(['data' => $data]);
                     } catch (\Exception $e) {
                         $transaction->rollBack();
                         throw $e;
                     }
                 case "remove":
                     //多选则删除全部 用deleteAll()不会触发 event: EVENT_BEFORE_DELETE 和 EVENT_AFTER_DELETE
                     foreach (Yii::$app->request->post('data') as $removeID => $removeData) {
                         Menu::findOne($removeID)->delete();
                     }
                     return Json::encode($returnData);
                 default:
                     return Json::encode($returnData);
             }
         default:
             throw new \Exception('参数错误!');
     }
 }
예제 #10
0
파일: Menu.php 프로젝트: cnzhangxl/lnsoft
 /**
  * 获取快捷菜单列表
  * @return  [type] [description]
  * @version 1.0    2016-01-25T17:32:51+0800
  * @author zhangxianglong@yolo24.com
  */
 public static function getMyMenuList()
 {
     $cache_key = 'backend_my_menu_' . Yii::$app->user->id;
     $menu_list = Yii::$app->cache->get($cache_key);
     if ($menu_list === false) {
         $menu_list = Menu::find()->where(['mg_id' => Yii::$app->user->id])->orderBy('sort_val ASC')->asArray()->all();
         Yii::$app->cache->set($cache_key, $menu_list, 86400);
     }
     return $menu_list;
 }