Пример #1
0
 /**
  * @param $id
  */
 public static function setCm($id)
 {
     $cm = Cm::findOne($id);
     $table = Cm::getTable($cm->tab_index, $cm->tab);
     self::$_tableName = $table;
     self::$_rules = self::getRulesFromString($cm->rules, $table);
     self::$_select_field = $cm->select_field;
     self::$_title_field = $cm->title_field;
     self::$_adv_field = $cm->adv_field;
     $fields = CmField::find()->where(['cm_id' => $id])->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC])->asArray()->all();
     self::$_fields = self::getOptions($fields);
     return new static();
 }
Пример #2
0
 /**
  * Lists all Cm models fields.
  * @return mixed
  */
 public function actionField($id)
 {
     $cm = Cm::findOne($id);
     if (Yii::$app->request->isPost) {
         $post = Yii::$app->request->post();
         $act = ArrayHelper::getValue($post, 'act');
         $fids = ArrayHelper::getValue($post, 'fid');
         $sort = ArrayHelper::getValue($post, 'sort');
         foreach ($fids as $k => $fid) {
             $fm = $this->findFieldModel($fid);
             $fm->scenario = 'sort';
             $fm->sort = (int) $sort[$k];
             $fm->save();
         }
     }
     $dataProvider = new ActiveDataProvider(['query' => CmField::find()->where(['cm_id' => $id])->orderBy(['sort' => SORT_ASC, 'id' => SORT_ASC]), 'pagination' => ['pageSize' => 100]]);
     return $this->render('field', ['dataProvider' => $dataProvider, 'cm' => $cm]);
 }