public function actionAttrlist($type_id)
 {
     $model = new GoodsType();
     //填充搜索商品类型
     //分页读取类别数据
     $attr = Attribute::find()->where(['type_id' => $type_id])->with('type');
     $pagination = new Pagination(['defaultPageSize' => 10, 'totalCount' => $attr->count()]);
     $attr = $attr->orderBy('attr_id ASC')->offset($pagination->offset)->limit($pagination->limit)->all();
     return $this->render('attrlist', ['type_id' => $type_id, 'model' => $model, 'attr' => $attr, 'pagination' => $pagination]);
 }
 /**
  * Lists all Attribute models.
  * @return mixed
  */
 public function actionIndex()
 {
     if (!$this->is_access('attribute/index')) {
         Yii::$app->session->setFlash('error', $this->errorInfo);
         return $this->redirect($this->redirectUrl);
     }
     $GoodsType = new GoodsType();
     $query = Attribute::find();
     if (!empty($_GET['cat_id'])) {
         $query->where('cat_id = :cat_id', [':cat_id' => $_GET['cat_id']]);
     }
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     Yii::$app->view->params['meta_title'] = '商品属性';
     $dropList = $GoodsType->dropList();
     return $this->render('index', ['dataProvider' => $dataProvider, 'dropList' => $dropList]);
 }
Beispiel #3
0
 public function actionAjaxattr()
 {
     if (Yii::$app->request->post('type_id')) {
         //获取类型id
         $type_id = Yii::$app->request->post('type_id');
         $attrs = Attribute::find()->where(['type_id' => $type_id])->all();
         //根据获取到的属性值构造html字符串
         $html = '';
         foreach ($attrs as $v) {
             $html .= "<div class='form-group'>";
             $html .= "<label class='col-lg-4 control-label'>" . $v['attr_name'] . "</label>";
             $html .= "<div class='col-lg-3'>";
             $html .= "<input type='hidden' name='attr_id_list[]' value='" . $v['attr_id'] . "'>";
             switch ($v['attr_input_type']) {
                 case 0:
                     # 文本框
                     $html .= "<input name='attr_value_list[]'' type='text' size='40' class='form-control'>";
                     break;
                 case 1:
                     # 下拉列表
                     $arr = explode(PHP_EOL, $v['attr_value']);
                     $html .= "<select name='attr_value_list[]' class='form-control'>";
                     $html .= "<option value=''>请选择...</option>";
                     foreach ($arr as $v) {
                         $html .= "<option value='{$v}'>{$v}</option>";
                     }
                     $html .= "</select>";
                     break;
                 case 2:
                     //多行文本框
                     $html .= "<textarea placeholder='...'' rows='4' name='attr_value_list[]' class='form-control'></textarea>";
                     break;
                 default:
                     $html .= "请选择商品类型";
                     break;
             }
             $html .= "</div>";
             $html .= "</div>";
         }
         echo $html;
     }
 }