Blame view

backend/controllers/DetailsDescriptionController.php 2.96 KB
6cc97b30   Mihail   add details descr...
1
2
3
4
  <?php
  
  namespace backend\controllers;
  
1c34c1b5   Mihail   work on details desc
5
  use common\models\DetailsCriteria;
6cc97b30   Mihail   add details descr...
6
7
8
9
  use Yii;
  use common\models\DetailsDescription;
  use common\models\DetailsDescriptionSearch;
  use backend\components\base\BaseController;
1c34c1b5   Mihail   work on details desc
10
  use yii\data\ActiveDataProvider;
512cc271   Mihail   add delete price ...
11
  use yii\web\HttpException;
6cc97b30   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,
          ]);
      }
  
6cc97b30   Mihail   add details descr...
49
      /**
40acb401   Mihail   add delete price ...
50
       * Displays a single DetailsDescription model.
6cc97b30   Mihail   add details descr...
51
52
53
54
       * @param string $name
       * @param string $brand
       * @return mixed
       */
40acb401   Mihail   add delete price ...
55
      public function actionView($name, $brand)
6cc97b30   Mihail   add details descr...
56
      {
1c34c1b5   Mihail   work on details desc
57
          $criteria_model = new DetailsCriteria();
512cc271   Mihail   add delete price ...
58
59
          $query = DetailsCriteria::find()->where( ['name' => $name, 'brand' => $brand] );
          $count = $query->count('*');
1c34c1b5   Mihail   work on details desc
60
61
62
63
64
65
66
  
          $dataProvider = new ActiveDataProvider([
              'query' => $query,
              'pagination' => false,
          ]);
  
  
40acb401   Mihail   add delete price ...
67
68
          return $this->render('view', [
              'model' => $this->findModel($name, $brand),
1c34c1b5   Mihail   work on details desc
69
70
              'criteria_model' => $criteria_model,
              'dataProvider' => $dataProvider,
512cc271   Mihail   add delete price ...
71
              'count' => $count,
40acb401   Mihail   add delete price ...
72
          ]);
6cc97b30   Mihail   add details descr...
73
74
      }
  
512cc271   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('Не удалось записать характеристики в базу данных');
  
          }
  
      }
  
  
6cc97b30   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.');
          }
      }
1c34c1b5   Mihail   work on details desc
105
106
  
  
6cc97b30   Mihail   add details descr...
107
  }