Blame view

backend/controllers/DetailsDescriptionController.php 2.96 KB
816a590c   Mihail   add details descr...
1
2
3
4
  <?php
  
  namespace backend\controllers;
  
ec9547bf   Mihail   work on details desc
5
  use common\models\DetailsCriteria;
816a590c   Mihail   add details descr...
6
7
8
9
  use Yii;
  use common\models\DetailsDescription;
  use common\models\DetailsDescriptionSearch;
  use backend\components\base\BaseController;
ec9547bf   Mihail   work on details desc
10
  use yii\data\ActiveDataProvider;
6ccb6e69   Mihail   add delete price ...
11
  use yii\web\HttpException;
816a590c   Mihail   add details descr...
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  use yii\web\NotFoundHttpException;
  use yii\filters\VerbFilter;
  
  /**
   * DetailsDescriptionController implements the CRUD actions for DetailsDescription model.
   */
  class DetailsDescriptionController extends BaseController
  {
      public $layout = "/column";
  
      public function behaviors()
      {
          return [
              'verbs' => [
                  'class' => VerbFilter::className(),
                  'actions' => [
                      'delete' => ['post'],
                  ],
              ],
          ];
      }
  
      /**
       * Lists all DetailsDescription models.
       * @return mixed
       */
      public function actionIndex()
      {
          $searchModel = new DetailsDescriptionSearch();
          $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
  
          return $this->render('index', [
              'searchModel' => $searchModel,
              'dataProvider' => $dataProvider,
          ]);
      }
  
816a590c   Mihail   add details descr...
49
      /**
edfa67b1   Mihail   add delete price ...
50
       * Displays a single DetailsDescription model.
816a590c   Mihail   add details descr...
51
52
53
54
       * @param string $name
       * @param string $brand
       * @return mixed
       */
edfa67b1   Mihail   add delete price ...
55
      public function actionView($name, $brand)
816a590c   Mihail   add details descr...
56
      {
ec9547bf   Mihail   work on details desc
57
          $criteria_model = new DetailsCriteria();
6ccb6e69   Mihail   add delete price ...
58
59
          $query = DetailsCriteria::find()->where( ['name' => $name, 'brand' => $brand] );
          $count = $query->count('*');
ec9547bf   Mihail   work on details desc
60
61
62
63
64
65
66
  
          $dataProvider = new ActiveDataProvider([
              'query' => $query,
              'pagination' => false,
          ]);
  
  
edfa67b1   Mihail   add delete price ...
67
68
          return $this->render('view', [
              'model' => $this->findModel($name, $brand),
ec9547bf   Mihail   work on details desc
69
70
              'criteria_model' => $criteria_model,
              'dataProvider' => $dataProvider,
6ccb6e69   Mihail   add delete price ...
71
              'count' => $count,
edfa67b1   Mihail   add delete price ...
72
          ]);
816a590c   Mihail   add details descr...
73
74
      }
  
6ccb6e69   Mihail   add delete price ...
75
76
77
78
79
80
81
82
83
84
85
86
87
88
      public function actionCreateCriteria()
      {
          $criteria_model = new DetailsCriteria();
          if ( $criteria_model->load( Yii::$app->request->post() ) && $criteria_model->save() ) {
  
              return $this->redirect(['view', 'name' => $criteria_model->name, 'brand' => $criteria_model->brand]);
          } else {
              throw new HttpException('Не удалось записать характеристики в базу данных');
  
          }
  
      }
  
  
816a590c   Mihail   add details descr...
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
      /**
       * Finds the DetailsDescription model based on its primary key value.
       * If the model is not found, a 404 HTTP exception will be thrown.
       * @param string $name
       * @param string $brand
       * @return DetailsDescription the loaded model
       * @throws NotFoundHttpException if the model cannot be found
       */
      protected function findModel($name, $brand)
      {
          if (($model = DetailsDescription::findOne(['name' => $name, 'brand' => $brand])) !== null) {
              return $model;
          } else {
              throw new NotFoundHttpException('The requested page does not exist.');
          }
      }
ec9547bf   Mihail   work on details desc
105
106
  
  
816a590c   Mihail   add details descr...
107
  }