Commit 90a6ed1a30bf8dd26b371bdee8721395779b1f9e
1 parent
2f93d129
basket
Showing
119 changed files
with
3210 additions
and
1018 deletions
Show diff stats
Too many changes.
To preserve performance only 100 of 119 files are displayed.
backend/config/main.php
| @@ -43,6 +43,17 @@ return [ | @@ -43,6 +43,17 @@ return [ | ||
| 43 | ], | 43 | ], |
| 44 | ], | 44 | ], |
| 45 | ], | 45 | ], |
| 46 | + 'imageCache' => [ | ||
| 47 | + 'class' => 'iutbay\yii2imagecache\ImageCache', | ||
| 48 | + 'sourcePath' => '@storage', | ||
| 49 | + 'sourceUrl' => '/storage', | ||
| 50 | + 'thumbsPath' => '@storage/thumbs', | ||
| 51 | + 'thumbsUrl' => '/storage/thumbs', | ||
| 52 | + | ||
| 53 | + 'sizes' => [ | ||
| 54 | + 'slider' => [720, 340], | ||
| 55 | + ], | ||
| 56 | + ], | ||
| 46 | 'errorHandler' => [ | 57 | 'errorHandler' => [ |
| 47 | 'errorAction' => 'site/error', | 58 | 'errorAction' => 'site/error', |
| 48 | ], | 59 | ], |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use common\models\Articles; | ||
| 7 | +use common\models\ArticlesSearch; | ||
| 8 | +use yii\web\Controller; | ||
| 9 | +use yii\web\NotFoundHttpException; | ||
| 10 | +use yii\filters\VerbFilter; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * ArticlesController implements the CRUD actions for Articles model. | ||
| 14 | + */ | ||
| 15 | +class ArticlesController extends Controller | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * @inheritdoc | ||
| 19 | + */ | ||
| 20 | + public function behaviors() | ||
| 21 | + { | ||
| 22 | + return [ | ||
| 23 | + 'verbs' => [ | ||
| 24 | + 'class' => VerbFilter::className(), | ||
| 25 | + 'actions' => [ | ||
| 26 | + 'delete' => ['POST'], | ||
| 27 | + ], | ||
| 28 | + ], | ||
| 29 | + ]; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * Lists all Articles models. | ||
| 34 | + * @return mixed | ||
| 35 | + */ | ||
| 36 | + public function actionIndex() | ||
| 37 | + { | ||
| 38 | + $searchModel = new ArticlesSearch(); | ||
| 39 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 40 | + | ||
| 41 | + return $this->render('index', [ | ||
| 42 | + 'searchModel' => $searchModel, | ||
| 43 | + 'dataProvider' => $dataProvider, | ||
| 44 | + ]); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * Displays a single Articles model. | ||
| 49 | + * @param integer $id | ||
| 50 | + * @return mixed | ||
| 51 | + */ | ||
| 52 | + public function actionView($id) | ||
| 53 | + { | ||
| 54 | + return $this->render('view', [ | ||
| 55 | + 'model' => $this->findModel($id), | ||
| 56 | + ]); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * Creates a new Articles model. | ||
| 61 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 62 | + * @return mixed | ||
| 63 | + */ | ||
| 64 | + public function actionCreate() | ||
| 65 | + { | ||
| 66 | + $model = new Articles(); | ||
| 67 | + | ||
| 68 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 69 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 70 | + } else { | ||
| 71 | + return $this->render('create', [ | ||
| 72 | + 'model' => $model, | ||
| 73 | + ]); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * Updates an existing Articles model. | ||
| 79 | + * If update is successful, the browser will be redirected to the 'view' page. | ||
| 80 | + * @param integer $id | ||
| 81 | + * @return mixed | ||
| 82 | + */ | ||
| 83 | + public function actionUpdate($id) | ||
| 84 | + { | ||
| 85 | + $model = $this->findModel($id); | ||
| 86 | + | ||
| 87 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 88 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 89 | + } else { | ||
| 90 | + return $this->render('update', [ | ||
| 91 | + 'model' => $model, | ||
| 92 | + ]); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + /** | ||
| 97 | + * Deletes an existing Articles model. | ||
| 98 | + * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 99 | + * @param integer $id | ||
| 100 | + * @return mixed | ||
| 101 | + */ | ||
| 102 | + public function actionDelete($id) | ||
| 103 | + { | ||
| 104 | + $this->findModel($id)->delete(); | ||
| 105 | + | ||
| 106 | + return $this->redirect(['index']); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * Finds the Articles model based on its primary key value. | ||
| 111 | + * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 112 | + * @param integer $id | ||
| 113 | + * @return Articles the loaded model | ||
| 114 | + * @throws NotFoundHttpException if the model cannot be found | ||
| 115 | + */ | ||
| 116 | + protected function findModel($id) | ||
| 117 | + { | ||
| 118 | + if (($model = Articles::findOne($id)) !== null) { | ||
| 119 | + return $model; | ||
| 120 | + } else { | ||
| 121 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use common\models\Bg; | ||
| 7 | +use common\models\BgSearch; | ||
| 8 | +use yii\web\Controller; | ||
| 9 | +use yii\web\NotFoundHttpException; | ||
| 10 | +use yii\filters\VerbFilter; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * BgController implements the CRUD actions for Bg model. | ||
| 14 | + */ | ||
| 15 | +class BgController extends Controller | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * @inheritdoc | ||
| 19 | + */ | ||
| 20 | + public function behaviors() | ||
| 21 | + { | ||
| 22 | + return [ | ||
| 23 | + 'verbs' => [ | ||
| 24 | + 'class' => VerbFilter::className(), | ||
| 25 | + 'actions' => [ | ||
| 26 | + 'delete' => ['POST'], | ||
| 27 | + ], | ||
| 28 | + ], | ||
| 29 | + ]; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * Lists all Bg models. | ||
| 34 | + * @return mixed | ||
| 35 | + */ | ||
| 36 | + public function actionIndex() | ||
| 37 | + { | ||
| 38 | + $searchModel = new BgSearch(); | ||
| 39 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 40 | + | ||
| 41 | + return $this->render('index', [ | ||
| 42 | + 'searchModel' => $searchModel, | ||
| 43 | + 'dataProvider' => $dataProvider, | ||
| 44 | + ]); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * Displays a single Bg model. | ||
| 49 | + * @param integer $id | ||
| 50 | + * @return mixed | ||
| 51 | + */ | ||
| 52 | + public function actionView($id) | ||
| 53 | + { | ||
| 54 | + return $this->render('view', [ | ||
| 55 | + 'model' => $this->findModel($id), | ||
| 56 | + ]); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * Creates a new Bg model. | ||
| 61 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 62 | + * @return mixed | ||
| 63 | + */ | ||
| 64 | + public function actionCreate() | ||
| 65 | + { | ||
| 66 | + $model = new Bg(); | ||
| 67 | + | ||
| 68 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 69 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 70 | + } else { | ||
| 71 | + return $this->render('create', [ | ||
| 72 | + 'model' => $model, | ||
| 73 | + ]); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * Updates an existing Bg model. | ||
| 79 | + * If update is successful, the browser will be redirected to the 'view' page. | ||
| 80 | + * @param integer $id | ||
| 81 | + * @return mixed | ||
| 82 | + */ | ||
| 83 | + public function actionUpdate($id) | ||
| 84 | + { | ||
| 85 | + $model = $this->findModel($id); | ||
| 86 | + | ||
| 87 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 88 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 89 | + } else { | ||
| 90 | + return $this->render('update', [ | ||
| 91 | + 'model' => $model, | ||
| 92 | + ]); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + /** | ||
| 97 | + * Deletes an existing Bg model. | ||
| 98 | + * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 99 | + * @param integer $id | ||
| 100 | + * @return mixed | ||
| 101 | + */ | ||
| 102 | + public function actionDelete($id) | ||
| 103 | + { | ||
| 104 | + $this->findModel($id)->delete(); | ||
| 105 | + | ||
| 106 | + return $this->redirect(['index']); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * Finds the Bg model based on its primary key value. | ||
| 111 | + * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 112 | + * @param integer $id | ||
| 113 | + * @return Bg the loaded model | ||
| 114 | + * @throws NotFoundHttpException if the model cannot be found | ||
| 115 | + */ | ||
| 116 | + protected function findModel($id) | ||
| 117 | + { | ||
| 118 | + if (($model = Bg::findOne($id)) !== null) { | ||
| 119 | + return $model; | ||
| 120 | + } else { | ||
| 121 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use common\models\Customer; | ||
| 7 | +use common\models\CustomerSearch; | ||
| 8 | +use yii\web\Controller; | ||
| 9 | +use yii\web\NotFoundHttpException; | ||
| 10 | +use yii\filters\VerbFilter; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * CustomerController implements the CRUD actions for Customer model. | ||
| 14 | + */ | ||
| 15 | +class CustomerController extends Controller | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * @inheritdoc | ||
| 19 | + */ | ||
| 20 | + public function behaviors() | ||
| 21 | + { | ||
| 22 | + return [ | ||
| 23 | + 'verbs' => [ | ||
| 24 | + 'class' => VerbFilter::className(), | ||
| 25 | + 'actions' => [ | ||
| 26 | + 'delete' => ['POST'], | ||
| 27 | + ], | ||
| 28 | + ], | ||
| 29 | + ]; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * Lists all Customer models. | ||
| 34 | + * @return mixed | ||
| 35 | + */ | ||
| 36 | + public function actionIndex() | ||
| 37 | + { | ||
| 38 | + $searchModel = new CustomerSearch(); | ||
| 39 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 40 | + | ||
| 41 | + return $this->render('index', [ | ||
| 42 | + 'searchModel' => $searchModel, | ||
| 43 | + 'dataProvider' => $dataProvider, | ||
| 44 | + ]); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * Displays a single Customer model. | ||
| 49 | + * @param integer $id | ||
| 50 | + * @return mixed | ||
| 51 | + */ | ||
| 52 | + public function actionView($id) | ||
| 53 | + { | ||
| 54 | + return $this->render('view', [ | ||
| 55 | + 'model' => $this->findModel($id), | ||
| 56 | + ]); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * Creates a new Customer model. | ||
| 61 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 62 | + * @return mixed | ||
| 63 | + */ | ||
| 64 | + public function actionCreate() | ||
| 65 | + { | ||
| 66 | + $model = new Customer(); | ||
| 67 | + | ||
| 68 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 69 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 70 | + } else { | ||
| 71 | + return $this->render('create', [ | ||
| 72 | + 'model' => $model, | ||
| 73 | + ]); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * Updates an existing Customer model. | ||
| 79 | + * If update is successful, the browser will be redirected to the 'view' page. | ||
| 80 | + * @param integer $id | ||
| 81 | + * @return mixed | ||
| 82 | + */ | ||
| 83 | + public function actionUpdate($id) | ||
| 84 | + { | ||
| 85 | + $model = $this->findModel($id); | ||
| 86 | + | ||
| 87 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 88 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 89 | + } else { | ||
| 90 | + return $this->render('update', [ | ||
| 91 | + 'model' => $model, | ||
| 92 | + ]); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + /** | ||
| 97 | + * Deletes an existing Customer model. | ||
| 98 | + * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 99 | + * @param integer $id | ||
| 100 | + * @return mixed | ||
| 101 | + */ | ||
| 102 | + public function actionDelete($id) | ||
| 103 | + { | ||
| 104 | + $this->findModel($id)->delete(); | ||
| 105 | + | ||
| 106 | + return $this->redirect(['index']); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * Finds the Customer model based on its primary key value. | ||
| 111 | + * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 112 | + * @param integer $id | ||
| 113 | + * @return Customer the loaded model | ||
| 114 | + * @throws NotFoundHttpException if the model cannot be found | ||
| 115 | + */ | ||
| 116 | + protected function findModel($id) | ||
| 117 | + { | ||
| 118 | + if (($model = Customer::findOne($id)) !== null) { | ||
| 119 | + return $model; | ||
| 120 | + } else { | ||
| 121 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | +} |
backend/controllers/PageController.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\controllers; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\filters\AccessControl; | ||
| 7 | -use common\models\Page; | ||
| 8 | -use common\models\PageSearch; | ||
| 9 | -use yii\web\Controller; | ||
| 10 | -use yii\web\NotFoundHttpException; | ||
| 11 | -use yii\filters\VerbFilter; | ||
| 12 | - | ||
| 13 | -/** | ||
| 14 | - * PageController implements the CRUD actions for Page model. | ||
| 15 | - */ | ||
| 16 | -class PageController extends Controller | ||
| 17 | -{ | ||
| 18 | - public function behaviors() | ||
| 19 | - { | ||
| 20 | - return [ | ||
| 21 | - 'access' => [ | ||
| 22 | - 'class' => AccessControl::className(), | ||
| 23 | - 'rules' => [ | ||
| 24 | - [ | ||
| 25 | - 'actions' => ['login', 'error'], | ||
| 26 | - 'allow' => true, | ||
| 27 | - ], | ||
| 28 | - [ | ||
| 29 | - 'actions' => ['logout', 'index','create','update','view','delete','test-img' ], | ||
| 30 | - 'allow' => true, | ||
| 31 | - 'roles' => ['@'], | ||
| 32 | - ], | ||
| 33 | - ], | ||
| 34 | - ], | ||
| 35 | - 'verbs' => [ | ||
| 36 | - 'class' => VerbFilter::className(), | ||
| 37 | - 'actions' => [ | ||
| 38 | - 'logout' => ['post'], | ||
| 39 | - ], | ||
| 40 | - ], | ||
| 41 | - ]; | ||
| 42 | - } | ||
| 43 | - | ||
| 44 | - /** | ||
| 45 | - * Lists all Page models. | ||
| 46 | - * @return mixed | ||
| 47 | - */ | ||
| 48 | - public function actionIndex() | ||
| 49 | - { | ||
| 50 | - $searchModel = new PageSearch(); | ||
| 51 | - $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 52 | - | ||
| 53 | - return $this->render('index', [ | ||
| 54 | - 'searchModel' => $searchModel, | ||
| 55 | - 'dataProvider' => $dataProvider, | ||
| 56 | - ]); | ||
| 57 | - } | ||
| 58 | - | ||
| 59 | - /** | ||
| 60 | - * Displays a single Page model. | ||
| 61 | - * @param integer $id | ||
| 62 | - * @return mixed | ||
| 63 | - */ | ||
| 64 | - public function actionView($id) | ||
| 65 | - { | ||
| 66 | - return $this->render('view', [ | ||
| 67 | - 'model' => $this->findModel($id), | ||
| 68 | - ]); | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - /** | ||
| 72 | - * Creates a new Page model. | ||
| 73 | - * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 74 | - * @return mixed | ||
| 75 | - */ | ||
| 76 | - public function actionCreate() | ||
| 77 | - { | ||
| 78 | - $model = new Page(); | ||
| 79 | - | ||
| 80 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 81 | - return $this->redirect(['view', 'id' => $model->id]); | ||
| 82 | - } else { | ||
| 83 | - return $this->render('create', [ | ||
| 84 | - 'model' => $model, | ||
| 85 | - ]); | ||
| 86 | - } | ||
| 87 | - } | ||
| 88 | - | ||
| 89 | - /** | ||
| 90 | - * Updates an existing Page model. | ||
| 91 | - * If update is successful, the browser will be redirected to the 'view' page. | ||
| 92 | - * @param integer $id | ||
| 93 | - * @return mixed | ||
| 94 | - */ | ||
| 95 | - public function actionUpdate($id) | ||
| 96 | - { | ||
| 97 | - $model = $this->findModel($id); | ||
| 98 | - | ||
| 99 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 100 | - return $this->redirect(['view', 'id' => $model->id]); | ||
| 101 | - } else { | ||
| 102 | - return $this->render('update', [ | ||
| 103 | - 'model' => $model, | ||
| 104 | - ]); | ||
| 105 | - } | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | - /** | ||
| 109 | - * Deletes an existing Page model. | ||
| 110 | - * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 111 | - * @param integer $id | ||
| 112 | - * @return mixed | ||
| 113 | - */ | ||
| 114 | - public function actionDelete($id) | ||
| 115 | - { | ||
| 116 | - $this->findModel($id)->delete(); | ||
| 117 | - | ||
| 118 | - return $this->redirect(['index']); | ||
| 119 | - } | ||
| 120 | - | ||
| 121 | - /** | ||
| 122 | - * Finds the Page model based on its primary key value. | ||
| 123 | - * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 124 | - * @param integer $id | ||
| 125 | - * @return Page the loaded model | ||
| 126 | - * @throws NotFoundHttpException if the model cannot be found | ||
| 127 | - */ | ||
| 128 | - protected function findModel($id) | ||
| 129 | - { | ||
| 130 | - if (($model = Page::findOne($id)) !== null) { | ||
| 131 | - return $model; | ||
| 132 | - } else { | ||
| 133 | - throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 134 | - } | ||
| 135 | - } | ||
| 136 | -} | 1 | +<?php |
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use common\models\Page; | ||
| 7 | +use common\models\PageSearch; | ||
| 8 | +use yii\web\Controller; | ||
| 9 | +use yii\web\NotFoundHttpException; | ||
| 10 | +use yii\filters\VerbFilter; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * PageController implements the CRUD actions for Page model. | ||
| 14 | + */ | ||
| 15 | +class PageController extends Controller | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * @inheritdoc | ||
| 19 | + */ | ||
| 20 | + public function behaviors() | ||
| 21 | + { | ||
| 22 | + return [ | ||
| 23 | + 'verbs' => [ | ||
| 24 | + 'class' => VerbFilter::className(), | ||
| 25 | + 'actions' => [ | ||
| 26 | + 'delete' => ['POST'], | ||
| 27 | + ], | ||
| 28 | + ], | ||
| 29 | + ]; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * Lists all Page models. | ||
| 34 | + * @return mixed | ||
| 35 | + */ | ||
| 36 | + public function actionIndex() | ||
| 37 | + { | ||
| 38 | + $searchModel = new PageSearch(); | ||
| 39 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 40 | + | ||
| 41 | + return $this->render('index', [ | ||
| 42 | + 'searchModel' => $searchModel, | ||
| 43 | + 'dataProvider' => $dataProvider, | ||
| 44 | + ]); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * Displays a single Page model. | ||
| 49 | + * @param integer $id | ||
| 50 | + * @return mixed | ||
| 51 | + */ | ||
| 52 | + public function actionView($id) | ||
| 53 | + { | ||
| 54 | + return $this->render('view', [ | ||
| 55 | + 'model' => $this->findModel($id), | ||
| 56 | + ]); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * Creates a new Page model. | ||
| 61 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 62 | + * @return mixed | ||
| 63 | + */ | ||
| 64 | + public function actionCreate() | ||
| 65 | + { | ||
| 66 | + $model = new Page(); | ||
| 67 | + | ||
| 68 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 69 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 70 | + } else { | ||
| 71 | + return $this->render('create', [ | ||
| 72 | + 'model' => $model, | ||
| 73 | + ]); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * Updates an existing Page model. | ||
| 79 | + * If update is successful, the browser will be redirected to the 'view' page. | ||
| 80 | + * @param integer $id | ||
| 81 | + * @return mixed | ||
| 82 | + */ | ||
| 83 | + public function actionUpdate($id) | ||
| 84 | + { | ||
| 85 | + $model = $this->findModel($id); | ||
| 86 | + | ||
| 87 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 88 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 89 | + } else { | ||
| 90 | + return $this->render('update', [ | ||
| 91 | + 'model' => $model, | ||
| 92 | + ]); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + /** | ||
| 97 | + * Deletes an existing Page model. | ||
| 98 | + * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 99 | + * @param integer $id | ||
| 100 | + * @return mixed | ||
| 101 | + */ | ||
| 102 | + public function actionDelete($id) | ||
| 103 | + { | ||
| 104 | + $this->findModel($id)->delete(); | ||
| 105 | + | ||
| 106 | + return $this->redirect(['index']); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * Finds the Page model based on its primary key value. | ||
| 111 | + * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 112 | + * @param integer $id | ||
| 113 | + * @return Page the loaded model | ||
| 114 | + * @throws NotFoundHttpException if the model cannot be found | ||
| 115 | + */ | ||
| 116 | + protected function findModel($id) | ||
| 117 | + { | ||
| 118 | + if (($model = Page::findOne($id)) !== null) { | ||
| 119 | + return $model; | ||
| 120 | + } else { | ||
| 121 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | +} |
backend/controllers/SliderImageController.php
| @@ -9,7 +9,7 @@ use common\models\SliderImageSearch; | @@ -9,7 +9,7 @@ use common\models\SliderImageSearch; | ||
| 9 | use yii\web\Controller; | 9 | use yii\web\Controller; |
| 10 | use yii\web\NotFoundHttpException; | 10 | use yii\web\NotFoundHttpException; |
| 11 | use yii\filters\VerbFilter; | 11 | use yii\filters\VerbFilter; |
| 12 | - | 12 | +use yii\web\UploadedFile; |
| 13 | /** | 13 | /** |
| 14 | * SliderImageController implements the CRUD actions for SliderImage model. | 14 | * SliderImageController implements the CRUD actions for SliderImage model. |
| 15 | */ | 15 | */ |
| @@ -73,7 +73,12 @@ class SliderImageController extends Controller | @@ -73,7 +73,12 @@ class SliderImageController extends Controller | ||
| 73 | 73 | ||
| 74 | if ($model->load(Yii::$app->request->post())) { | 74 | if ($model->load(Yii::$app->request->post())) { |
| 75 | $model->slider_id = $slider_id; | 75 | $model->slider_id = $slider_id; |
| 76 | - $model->save(); | 76 | + if ( ($image = UploadedFile::getInstance($model, 'image')) ) { |
| 77 | + $model->image = $image->name; | ||
| 78 | + } | ||
| 79 | + if ($model->save() && $image) { | ||
| 80 | + $image->saveAs(Yii::getAlias('@storage/slider/' . $image->name)); | ||
| 81 | + } | ||
| 77 | return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]); | 82 | return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]); |
| 78 | } else { | 83 | } else { |
| 79 | 84 | ||
| @@ -98,7 +103,14 @@ class SliderImageController extends Controller | @@ -98,7 +103,14 @@ class SliderImageController extends Controller | ||
| 98 | { | 103 | { |
| 99 | $model = $this->findModel($slider_id, $id); | 104 | $model = $this->findModel($slider_id, $id); |
| 100 | 105 | ||
| 101 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | 106 | + if ($model->load(Yii::$app->request->post())) { |
| 107 | + if ( ($image = UploadedFile::getInstance($model, 'image')) ) { | ||
| 108 | + $model->image = $image->name; | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + if ($model->save() && $image) { | ||
| 112 | + $image->saveAs(Yii::getAlias('@storage/slider/' . $image->name)); | ||
| 113 | + } | ||
| 102 | return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]); | 114 | return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]); |
| 103 | } else { | 115 | } else { |
| 104 | 116 |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace backend\controllers; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use common\models\Subscribe; | ||
| 7 | +use common\models\SubscribeSearch; | ||
| 8 | +use yii\web\Controller; | ||
| 9 | +use yii\web\NotFoundHttpException; | ||
| 10 | +use yii\filters\VerbFilter; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * SubscribeController implements the CRUD actions for Subscribe model. | ||
| 14 | + */ | ||
| 15 | +class SubscribeController extends Controller | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * @inheritdoc | ||
| 19 | + */ | ||
| 20 | + public function behaviors() | ||
| 21 | + { | ||
| 22 | + return [ | ||
| 23 | + 'verbs' => [ | ||
| 24 | + 'class' => VerbFilter::className(), | ||
| 25 | + 'actions' => [ | ||
| 26 | + 'delete' => ['POST'], | ||
| 27 | + ], | ||
| 28 | + ], | ||
| 29 | + ]; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * Lists all Subscribe models. | ||
| 34 | + * @return mixed | ||
| 35 | + */ | ||
| 36 | + public function actionIndex() | ||
| 37 | + { | ||
| 38 | + $searchModel = new SubscribeSearch(); | ||
| 39 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 40 | + | ||
| 41 | + return $this->render('index', [ | ||
| 42 | + 'searchModel' => $searchModel, | ||
| 43 | + 'dataProvider' => $dataProvider, | ||
| 44 | + ]); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * Displays a single Subscribe model. | ||
| 49 | + * @param integer $id | ||
| 50 | + * @return mixed | ||
| 51 | + */ | ||
| 52 | + public function actionView($id) | ||
| 53 | + { | ||
| 54 | + return $this->render('view', [ | ||
| 55 | + 'model' => $this->findModel($id), | ||
| 56 | + ]); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * Creates a new Subscribe model. | ||
| 61 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 62 | + * @return mixed | ||
| 63 | + */ | ||
| 64 | + public function actionCreate() | ||
| 65 | + { | ||
| 66 | + $model = new Subscribe(); | ||
| 67 | + | ||
| 68 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 69 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 70 | + } else { | ||
| 71 | + return $this->render('create', [ | ||
| 72 | + 'model' => $model, | ||
| 73 | + ]); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * Updates an existing Subscribe model. | ||
| 79 | + * If update is successful, the browser will be redirected to the 'view' page. | ||
| 80 | + * @param integer $id | ||
| 81 | + * @return mixed | ||
| 82 | + */ | ||
| 83 | + public function actionUpdate($id) | ||
| 84 | + { | ||
| 85 | + $model = $this->findModel($id); | ||
| 86 | + | ||
| 87 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 88 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 89 | + } else { | ||
| 90 | + return $this->render('update', [ | ||
| 91 | + 'model' => $model, | ||
| 92 | + ]); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + /** | ||
| 97 | + * Deletes an existing Subscribe model. | ||
| 98 | + * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 99 | + * @param integer $id | ||
| 100 | + * @return mixed | ||
| 101 | + */ | ||
| 102 | + public function actionDelete($id) | ||
| 103 | + { | ||
| 104 | + $this->findModel($id)->delete(); | ||
| 105 | + | ||
| 106 | + return $this->redirect(['index']); | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * Finds the Subscribe model based on its primary key value. | ||
| 111 | + * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 112 | + * @param integer $id | ||
| 113 | + * @return Subscribe the loaded model | ||
| 114 | + * @throws NotFoundHttpException if the model cannot be found | ||
| 115 | + */ | ||
| 116 | + protected function findModel($id) | ||
| 117 | + { | ||
| 118 | + if (($model = Subscribe::findOne($id)) !== null) { | ||
| 119 | + return $model; | ||
| 120 | + } else { | ||
| 121 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | +use common\modules\file\widgets\ImageUploader; | ||
| 6 | +use mihaildev\ckeditor\CKEditor; | ||
| 7 | +use mihaildev\elfinder\ElFinder; | ||
| 8 | +use yii\jui\DatePicker; | ||
| 9 | +/* @var $this yii\web\View */ | ||
| 10 | +/* @var $model common\models\Articles */ | ||
| 11 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 12 | +?> | ||
| 13 | + | ||
| 14 | +<div class="articles-form"> | ||
| 15 | + | ||
| 16 | + <?php $form = ActiveForm::begin(); ?> | ||
| 17 | + | ||
| 18 | + | ||
| 19 | + <?= $form->field($model, 'date') | ||
| 20 | + ->widget(DatePicker::className(), [ | ||
| 21 | + 'dateFormat' => 'yyyy-MM-dd', | ||
| 22 | + 'clientOptions' => [ 'minDate' => 1 ], | ||
| 23 | + ]) ?> | ||
| 24 | + <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> | ||
| 25 | + | ||
| 26 | + <?= $form->field($model, 'body')->widget(CKEditor::className(), | ||
| 27 | + [ | ||
| 28 | + 'editorOptions' => ElFinder::ckeditorOptions('elfinder',[ | ||
| 29 | + 'preset' => 'full', //разработанны стандартные настройки basic, standard, full данную возможность не обязательно использовать | ||
| 30 | + 'inline' => false, //по умолчанию false]), | ||
| 31 | + 'filebrowserUploadUrl'=>Yii::$app->getUrlManager()->createUrl('file/uploader/images-upload') | ||
| 32 | + ] | ||
| 33 | + ) | ||
| 34 | + ]) ?> | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + <?= $form->field($model, 'image')->textInput(['maxlength' => true]) ?> | ||
| 38 | + | ||
| 39 | + <?= $form->field($model, 'translit')->textInput(['maxlength' => true]) ?> | ||
| 40 | + | ||
| 41 | + <?= $form->field($model, 'meta_title')->textInput(['maxlength' => true]) ?> | ||
| 42 | + | ||
| 43 | + <?= $form->field($model, 'meta_keywords')->textInput(['maxlength' => true]) ?> | ||
| 44 | + | ||
| 45 | + <?= $form->field($model, 'meta_description')->textInput(['maxlength' => true]) ?> | ||
| 46 | + | ||
| 47 | + <?= $form->field($model, 'seo_text')->textarea(['rows' => 6]) ?> | ||
| 48 | + | ||
| 49 | + <?= $form->field($model, 'h1')->textInput(['maxlength' => true]) ?> | ||
| 50 | + | ||
| 51 | + <div class="form-group"> | ||
| 52 | + <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 53 | + </div> | ||
| 54 | + | ||
| 55 | + <?php ActiveForm::end(); ?> | ||
| 56 | + | ||
| 57 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\ArticlesSearch */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="articles-search"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin([ | ||
| 14 | + 'action' => ['index'], | ||
| 15 | + 'method' => 'get', | ||
| 16 | + ]); ?> | ||
| 17 | + | ||
| 18 | + <?= $form->field($model, 'id') ?> | ||
| 19 | + | ||
| 20 | + <?= $form->field($model, 'date') ?> | ||
| 21 | + | ||
| 22 | + <?= $form->field($model, 'title') ?> | ||
| 23 | + | ||
| 24 | + <?= $form->field($model, 'body') ?> | ||
| 25 | + | ||
| 26 | + <?= $form->field($model, 'image') ?> | ||
| 27 | + | ||
| 28 | + <?php // echo $form->field($model, 'translit') ?> | ||
| 29 | + | ||
| 30 | + <?php // echo $form->field($model, 'meta_title') ?> | ||
| 31 | + | ||
| 32 | + <?php // echo $form->field($model, 'meta_keywords') ?> | ||
| 33 | + | ||
| 34 | + <?php // echo $form->field($model, 'meta_description') ?> | ||
| 35 | + | ||
| 36 | + <?php // echo $form->field($model, 'seo_text') ?> | ||
| 37 | + | ||
| 38 | + <?php // echo $form->field($model, 'h1') ?> | ||
| 39 | + | ||
| 40 | + <div class="form-group"> | ||
| 41 | + <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> | ||
| 42 | + <?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?> | ||
| 43 | + </div> | ||
| 44 | + | ||
| 45 | + <?php ActiveForm::end(); ?> | ||
| 46 | + | ||
| 47 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Articles */ | ||
| 8 | + | ||
| 9 | +$this->title = 'Create Articles'; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Articles', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="articles-create"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\grid\GridView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $searchModel common\models\ArticlesSearch */ | ||
| 8 | +/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | + | ||
| 10 | +$this->title = 'Articles'; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="articles-index"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | + | ||
| 18 | + <p> | ||
| 19 | + <?= Html::a('Create Articles', ['create'], ['class' => 'btn btn-success']) ?> | ||
| 20 | + </p> | ||
| 21 | + <?= GridView::widget([ | ||
| 22 | + 'dataProvider' => $dataProvider, | ||
| 23 | + 'filterModel' => $searchModel, | ||
| 24 | + 'columns' => [ | ||
| 25 | + ['class' => 'yii\grid\SerialColumn'], | ||
| 26 | + | ||
| 27 | + 'id', | ||
| 28 | + 'date', | ||
| 29 | + 'title', | ||
| 30 | + 'image', | ||
| 31 | + // 'translit', | ||
| 32 | + // 'meta_title', | ||
| 33 | + // 'meta_keywords', | ||
| 34 | + // 'meta_description', | ||
| 35 | + // 'seo_text:ntext', | ||
| 36 | + // 'h1', | ||
| 37 | + | ||
| 38 | + ['class' => 'yii\grid\ActionColumn'], | ||
| 39 | + ], | ||
| 40 | + ]); ?> | ||
| 41 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | +/* @var $this yii\web\View */ | ||
| 6 | +/* @var $model common\models\Articles */ | ||
| 7 | + | ||
| 8 | +$this->title = 'Update Articles: ' . $model->title; | ||
| 9 | +$this->params['breadcrumbs'][] = ['label' => 'Articles', 'url' => ['index']]; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]]; | ||
| 11 | +$this->params['breadcrumbs'][] = 'Update'; | ||
| 12 | +?> | ||
| 13 | +<div class="articles-update"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\DetailView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Articles */ | ||
| 8 | + | ||
| 9 | +$this->title = $model->title; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Articles', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="articles-view"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <p> | ||
| 18 | + <?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | + <?= Html::a('Delete', ['delete', 'id' => $model->id], [ | ||
| 20 | + 'class' => 'btn btn-danger', | ||
| 21 | + 'data' => [ | ||
| 22 | + 'confirm' => 'Are you sure you want to delete this item?', | ||
| 23 | + 'method' => 'post', | ||
| 24 | + ], | ||
| 25 | + ]) ?> | ||
| 26 | + </p> | ||
| 27 | + | ||
| 28 | + <?= DetailView::widget([ | ||
| 29 | + 'model' => $model, | ||
| 30 | + 'attributes' => [ | ||
| 31 | + 'id', | ||
| 32 | + 'date', | ||
| 33 | + 'title', | ||
| 34 | + 'body:ntext', | ||
| 35 | + 'image', | ||
| 36 | + 'translit', | ||
| 37 | + 'meta_title', | ||
| 38 | + 'meta_keywords', | ||
| 39 | + 'meta_description', | ||
| 40 | + 'seo_text:ntext', | ||
| 41 | + 'h1', | ||
| 42 | + ], | ||
| 43 | + ]) ?> | ||
| 44 | + | ||
| 45 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Bg */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="bg-form"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin(); ?> | ||
| 14 | + | ||
| 15 | + <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> | ||
| 16 | + | ||
| 17 | + <?= $form->field($model, 'url')->textInput(['maxlength' => true]) ?> | ||
| 18 | + | ||
| 19 | + <?= $form->field($model, 'image')->textInput(['maxlength' => true]) ?> | ||
| 20 | + | ||
| 21 | + <div class="form-group"> | ||
| 22 | + <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 23 | + </div> | ||
| 24 | + | ||
| 25 | + <?php ActiveForm::end(); ?> | ||
| 26 | + | ||
| 27 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\BgSearch */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="bg-search"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin([ | ||
| 14 | + 'action' => ['index'], | ||
| 15 | + 'method' => 'get', | ||
| 16 | + ]); ?> | ||
| 17 | + | ||
| 18 | + <?= $form->field($model, 'id') ?> | ||
| 19 | + | ||
| 20 | + <?= $form->field($model, 'title') ?> | ||
| 21 | + | ||
| 22 | + <?= $form->field($model, 'url') ?> | ||
| 23 | + | ||
| 24 | + <?= $form->field($model, 'image') ?> | ||
| 25 | + | ||
| 26 | + <div class="form-group"> | ||
| 27 | + <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> | ||
| 28 | + <?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?> | ||
| 29 | + </div> | ||
| 30 | + | ||
| 31 | + <?php ActiveForm::end(); ?> | ||
| 32 | + | ||
| 33 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Bg */ | ||
| 8 | + | ||
| 9 | +$this->title = 'Create Bg'; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Bgs', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="bg-create"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\grid\GridView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $searchModel common\models\BgSearch */ | ||
| 8 | +/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | + | ||
| 10 | +$this->title = 'Bgs'; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="bg-index"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | + | ||
| 18 | + <p> | ||
| 19 | + <?= Html::a('Create Bg', ['create'], ['class' => 'btn btn-success']) ?> | ||
| 20 | + </p> | ||
| 21 | + <?= GridView::widget([ | ||
| 22 | + 'dataProvider' => $dataProvider, | ||
| 23 | + 'filterModel' => $searchModel, | ||
| 24 | + 'columns' => [ | ||
| 25 | + ['class' => 'yii\grid\SerialColumn'], | ||
| 26 | + | ||
| 27 | + 'id', | ||
| 28 | + 'title', | ||
| 29 | + 'url:url', | ||
| 30 | + 'image', | ||
| 31 | + | ||
| 32 | + ['class' => 'yii\grid\ActionColumn'], | ||
| 33 | + ], | ||
| 34 | + ]); ?> | ||
| 35 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | +/* @var $this yii\web\View */ | ||
| 6 | +/* @var $model common\models\Bg */ | ||
| 7 | + | ||
| 8 | +$this->title = 'Update Bg: ' . $model->title; | ||
| 9 | +$this->params['breadcrumbs'][] = ['label' => 'Bgs', 'url' => ['index']]; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]]; | ||
| 11 | +$this->params['breadcrumbs'][] = 'Update'; | ||
| 12 | +?> | ||
| 13 | +<div class="bg-update"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\DetailView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Bg */ | ||
| 8 | + | ||
| 9 | +$this->title = $model->title; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Bgs', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="bg-view"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <p> | ||
| 18 | + <?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | + <?= Html::a('Delete', ['delete', 'id' => $model->id], [ | ||
| 20 | + 'class' => 'btn btn-danger', | ||
| 21 | + 'data' => [ | ||
| 22 | + 'confirm' => 'Are you sure you want to delete this item?', | ||
| 23 | + 'method' => 'post', | ||
| 24 | + ], | ||
| 25 | + ]) ?> | ||
| 26 | + </p> | ||
| 27 | + | ||
| 28 | + <?= DetailView::widget([ | ||
| 29 | + 'model' => $model, | ||
| 30 | + 'attributes' => [ | ||
| 31 | + 'id', | ||
| 32 | + 'title', | ||
| 33 | + 'url:url', | ||
| 34 | + 'image', | ||
| 35 | + ], | ||
| 36 | + ]) ?> | ||
| 37 | + | ||
| 38 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Customer */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="customer-form"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin(); ?> | ||
| 14 | + | ||
| 15 | + <?= $form->field($model, 'id')->textInput() ?> | ||
| 16 | + | ||
| 17 | + <?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?> | ||
| 18 | + | ||
| 19 | + <?= $form->field($model, 'password')->passwordInput(['maxlength' => true]) ?> | ||
| 20 | + | ||
| 21 | + <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> | ||
| 22 | + | ||
| 23 | + <?= $form->field($model, 'surname')->textInput(['maxlength' => true]) ?> | ||
| 24 | + | ||
| 25 | + <?= $form->field($model, 'phone')->textInput(['maxlength' => true]) ?> | ||
| 26 | + | ||
| 27 | + <?= $form->field($model, 'date_time')->textInput() ?> | ||
| 28 | + | ||
| 29 | + <?= $form->field($model, 'sex')->textInput(['maxlength' => true]) ?> | ||
| 30 | + | ||
| 31 | + <?= $form->field($model, 'birth_day')->textInput() ?> | ||
| 32 | + | ||
| 33 | + <?= $form->field($model, 'birth_month')->textInput() ?> | ||
| 34 | + | ||
| 35 | + <?= $form->field($model, 'birth_year')->textInput() ?> | ||
| 36 | + | ||
| 37 | + <?= $form->field($model, 'body')->textarea(['rows' => 6]) ?> | ||
| 38 | + | ||
| 39 | + <?= $form->field($model, 'group_id')->textInput() ?> | ||
| 40 | + | ||
| 41 | + <div class="form-group"> | ||
| 42 | + <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 43 | + </div> | ||
| 44 | + | ||
| 45 | + <?php ActiveForm::end(); ?> | ||
| 46 | + | ||
| 47 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\CustomerSearch */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="customer-search"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin([ | ||
| 14 | + 'action' => ['index'], | ||
| 15 | + 'method' => 'get', | ||
| 16 | + ]); ?> | ||
| 17 | + | ||
| 18 | + <?= $form->field($model, 'id') ?> | ||
| 19 | + | ||
| 20 | + <?= $form->field($model, 'username') ?> | ||
| 21 | + | ||
| 22 | + <?= $form->field($model, 'password') ?> | ||
| 23 | + | ||
| 24 | + <?= $form->field($model, 'name') ?> | ||
| 25 | + | ||
| 26 | + <?= $form->field($model, 'surname') ?> | ||
| 27 | + | ||
| 28 | + <?php // echo $form->field($model, 'phone') ?> | ||
| 29 | + | ||
| 30 | + <?php // echo $form->field($model, 'date_time') ?> | ||
| 31 | + | ||
| 32 | + <?php // echo $form->field($model, 'sex') ?> | ||
| 33 | + | ||
| 34 | + <?php // echo $form->field($model, 'birth_day') ?> | ||
| 35 | + | ||
| 36 | + <?php // echo $form->field($model, 'birth_month') ?> | ||
| 37 | + | ||
| 38 | + <?php // echo $form->field($model, 'birth_year') ?> | ||
| 39 | + | ||
| 40 | + <?php // echo $form->field($model, 'body') ?> | ||
| 41 | + | ||
| 42 | + <?php // echo $form->field($model, 'group_id') ?> | ||
| 43 | + | ||
| 44 | + <div class="form-group"> | ||
| 45 | + <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> | ||
| 46 | + <?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?> | ||
| 47 | + </div> | ||
| 48 | + | ||
| 49 | + <?php ActiveForm::end(); ?> | ||
| 50 | + | ||
| 51 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Customer */ | ||
| 8 | + | ||
| 9 | +$this->title = 'Create Customer'; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Customers', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="customer-create"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\grid\GridView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $searchModel common\models\CustomerSearch */ | ||
| 8 | +/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | + | ||
| 10 | +$this->title = 'Customers'; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="customer-index"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | + | ||
| 18 | + <p> | ||
| 19 | + <?= Html::a('Create Customer', ['create'], ['class' => 'btn btn-success']) ?> | ||
| 20 | + </p> | ||
| 21 | + <?= GridView::widget([ | ||
| 22 | + 'dataProvider' => $dataProvider, | ||
| 23 | + 'filterModel' => $searchModel, | ||
| 24 | + 'columns' => [ | ||
| 25 | + ['class' => 'yii\grid\SerialColumn'], | ||
| 26 | + | ||
| 27 | + 'id', | ||
| 28 | + 'username', | ||
| 29 | + 'password', | ||
| 30 | + 'name', | ||
| 31 | + 'surname', | ||
| 32 | + // 'phone', | ||
| 33 | + // 'date_time', | ||
| 34 | + // 'sex', | ||
| 35 | + // 'birth_day', | ||
| 36 | + // 'birth_month', | ||
| 37 | + // 'birth_year', | ||
| 38 | + // 'body:ntext', | ||
| 39 | + // 'group_id', | ||
| 40 | + | ||
| 41 | + ['class' => 'yii\grid\ActionColumn'], | ||
| 42 | + ], | ||
| 43 | + ]); ?> | ||
| 44 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | +/* @var $this yii\web\View */ | ||
| 6 | +/* @var $model common\models\Customer */ | ||
| 7 | + | ||
| 8 | +$this->title = 'Update Customer: ' . $model->name; | ||
| 9 | +$this->params['breadcrumbs'][] = ['label' => 'Customers', 'url' => ['index']]; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id]]; | ||
| 11 | +$this->params['breadcrumbs'][] = 'Update'; | ||
| 12 | +?> | ||
| 13 | +<div class="customer-update"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\DetailView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Customer */ | ||
| 8 | + | ||
| 9 | +$this->title = $model->name; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Customers', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="customer-view"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <p> | ||
| 18 | + <?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | + <?= Html::a('Delete', ['delete', 'id' => $model->id], [ | ||
| 20 | + 'class' => 'btn btn-danger', | ||
| 21 | + 'data' => [ | ||
| 22 | + 'confirm' => 'Are you sure you want to delete this item?', | ||
| 23 | + 'method' => 'post', | ||
| 24 | + ], | ||
| 25 | + ]) ?> | ||
| 26 | + </p> | ||
| 27 | + | ||
| 28 | + <?= DetailView::widget([ | ||
| 29 | + 'model' => $model, | ||
| 30 | + 'attributes' => [ | ||
| 31 | + 'id', | ||
| 32 | + 'username', | ||
| 33 | + 'password', | ||
| 34 | + 'name', | ||
| 35 | + 'surname', | ||
| 36 | + 'phone', | ||
| 37 | + 'date_time', | ||
| 38 | + 'sex', | ||
| 39 | + 'birth_day', | ||
| 40 | + 'birth_month', | ||
| 41 | + 'birth_year', | ||
| 42 | + 'body:ntext', | ||
| 43 | + 'group_id', | ||
| 44 | + ], | ||
| 45 | + ]) ?> | ||
| 46 | + | ||
| 47 | +</div> |
backend/views/layouts/main-sidebar.php
| @@ -54,9 +54,9 @@ use yii\widgets\Menu; | @@ -54,9 +54,9 @@ use yii\widgets\Menu; | ||
| 54 | ['label' => 'Зависимости', 'url' => ['/relation/manage']] | 54 | ['label' => 'Зависимости', 'url' => ['/relation/manage']] |
| 55 | ] | 55 | ] |
| 56 | ], | 56 | ], |
| 57 | - ['label' => 'Статические страницы', 'url' => ['/page/index']], | 57 | + ['label' => 'Текстовые страницы', 'url' => ['/page/index']], |
| 58 | + ['label' => 'Статьи', 'url' => ['/articles/index']], | ||
| 58 | ['label' => 'Акции', 'url' => ['/event/index']], | 59 | ['label' => 'Акции', 'url' => ['/event/index']], |
| 59 | - ['label' => 'Услуги', 'url' => ['/service/index']], | ||
| 60 | [ | 60 | [ |
| 61 | 'label' => 'SEO', | 61 | 'label' => 'SEO', |
| 62 | 'template'=>'<a href="{url}"> <i class="glyphicon glyphicon-search"></i> <span>{label}</span></a>', | 62 | 'template'=>'<a href="{url}"> <i class="glyphicon glyphicon-search"></i> <span>{label}</span></a>', |
| @@ -65,8 +65,11 @@ use yii\widgets\Menu; | @@ -65,8 +65,11 @@ use yii\widgets\Menu; | ||
| 65 | ['label' => 'Шаблоны', 'url' => ['/seo-category/index']] | 65 | ['label' => 'Шаблоны', 'url' => ['/seo-category/index']] |
| 66 | ] | 66 | ] |
| 67 | ], | 67 | ], |
| 68 | -// ['label' => 'Rubrication', 'url' => ['/rubrication/tax-group']], | ||
| 69 | -// ['label' => 'Relation', 'url' => ['/relation/manage']], | 68 | + ['label' => 'Фон', 'url' => ['/bg/index']], |
| 69 | + ['label' => 'Подписка', 'url' => ['/subscribe/index']], | ||
| 70 | + ['label' => 'Пользователи', 'url' => ['/customer/index']], | ||
| 71 | + ['label' => 'Группы пользователей', 'url' => ['/group/index']], | ||
| 72 | + | ||
| 70 | ], | 73 | ], |
| 71 | 74 | ||
| 72 | ]); | 75 | ]); |
backend/views/page/_form.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | -use yii\widgets\ActiveForm; | ||
| 5 | -use mihaildev\ckeditor\CKEditor; | ||
| 6 | -use mihaildev\elfinder\ElFinder; | ||
| 7 | -/* @var $this yii\web\View */ | ||
| 8 | -/* @var $model backend\models\Page */ | ||
| 9 | -/* @var $form yii\widgets\ActiveForm */ | ||
| 10 | -?> | ||
| 11 | - | ||
| 12 | -<div class="page-form"> | ||
| 13 | - | ||
| 14 | - <?php $form = ActiveForm::begin(); ?> | ||
| 15 | - | ||
| 16 | - <?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?> | ||
| 17 | - | ||
| 18 | - <?= $form->field($model, 'alias')->textInput(['maxlength' => 250]) ?> | ||
| 19 | - | ||
| 20 | - <?= $form->field($model, 'title')->textInput(['maxlength' => 250]) ?> | ||
| 21 | - | ||
| 22 | - <?= $form->field($model, 'body')->widget(CKEditor::className(), | ||
| 23 | - [ | ||
| 24 | - 'editorOptions' => ElFinder::ckeditorOptions('elfinder',[ | ||
| 25 | - 'preset' => 'full', //разработанны стандартные настройки basic, standard, full данную возможность не обязательно использовать | ||
| 26 | - 'inline' => false, //по умолчанию false]), | ||
| 27 | - 'allowedContent' => true, | ||
| 28 | - 'filebrowserUploadUrl'=>Yii::$app->getUrlManager()->createUrl('file/uploader/images-upload') | ||
| 29 | - ] | ||
| 30 | - ) | ||
| 31 | - ]) ?> | ||
| 32 | - | ||
| 33 | - <?= $form->field($model, 'meta_title')->textInput(['maxlength' => 250]) ?> | ||
| 34 | - | ||
| 35 | - <?= $form->field($model, 'description')->textInput(['maxlength' => 250]) ?> | ||
| 36 | - | ||
| 37 | - <?= $form->field($model, 'h1')->textInput(['maxlength' => 255]) ?> | ||
| 38 | - | ||
| 39 | - <?= $form->field($model, 'seo_text')->textarea(['rows' => 6]) ?> | ||
| 40 | - | ||
| 41 | - <div class="form-group"> | ||
| 42 | - <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 43 | - </div> | ||
| 44 | - | ||
| 45 | - <?php ActiveForm::end(); ?> | ||
| 46 | - | ||
| 47 | -</div> | 1 | +<?php |
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | +use mihaildev\ckeditor\CKEditor; | ||
| 6 | +use mihaildev\elfinder\ElFinder; | ||
| 7 | +/* @var $this yii\web\View */ | ||
| 8 | +/* @var $model common\models\Page */ | ||
| 9 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 10 | +?> | ||
| 11 | + | ||
| 12 | +<div class="page-form"> | ||
| 13 | + | ||
| 14 | + <?php $form = ActiveForm::begin(); ?> | ||
| 15 | + | ||
| 16 | + <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> | ||
| 17 | + | ||
| 18 | + | ||
| 19 | + <?= $form->field($model, 'body')->widget(CKEditor::className(), | ||
| 20 | + [ | ||
| 21 | + 'editorOptions' => ElFinder::ckeditorOptions('elfinder',[ | ||
| 22 | + 'preset' => 'full', //разработанны стандартные настройки basic, standard, full данную возможность не обязательно использовать | ||
| 23 | + 'inline' => false, //по умолчанию false]), | ||
| 24 | + 'allowedContent' => true, | ||
| 25 | + 'filebrowserUploadUrl'=>Yii::$app->getUrlManager()->createUrl('file/uploader/images-upload') | ||
| 26 | + ] | ||
| 27 | + ) | ||
| 28 | + ]) ?> | ||
| 29 | + | ||
| 30 | + <?= $form->field($model, 'meta_title')->textInput(['maxlength' => true]) ?> | ||
| 31 | + | ||
| 32 | + <?= $form->field($model, 'meta_keywords')->textInput(['maxlength' => true]) ?> | ||
| 33 | + | ||
| 34 | + <?= $form->field($model, 'meta_description')->textInput(['maxlength' => true]) ?> | ||
| 35 | + | ||
| 36 | + <?= $form->field($model, 'seo_text')->textarea(['rows' => 6]) ?> | ||
| 37 | + | ||
| 38 | + <?= $form->field($model, 'h1')->textInput(['maxlength' => true]) ?> | ||
| 39 | + | ||
| 40 | + <div class="form-group"> | ||
| 41 | + <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 42 | + </div> | ||
| 43 | + | ||
| 44 | + <?php ActiveForm::end(); ?> | ||
| 45 | + | ||
| 46 | +</div> |
backend/views/page/_search.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | -use yii\widgets\ActiveForm; | ||
| 5 | - | ||
| 6 | -/* @var $this yii\web\View */ | ||
| 7 | -/* @var $model backend\models\PageSearch */ | ||
| 8 | -/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | -?> | ||
| 10 | - | ||
| 11 | -<div class="page-search"> | ||
| 12 | - | ||
| 13 | - <?php $form = ActiveForm::begin([ | ||
| 14 | - 'action' => ['index'], | ||
| 15 | - 'method' => 'get', | ||
| 16 | - ]); ?> | ||
| 17 | - | ||
| 18 | - <?= $form->field($model, 'id') ?> | ||
| 19 | - | ||
| 20 | - <?= $form->field($model, 'name') ?> | ||
| 21 | - | ||
| 22 | - <?= $form->field($model, 'alias') ?> | ||
| 23 | - | ||
| 24 | - <?= $form->field($model, 'title') ?> | ||
| 25 | - | ||
| 26 | - <?= $form->field($model, 'body') ?> | ||
| 27 | - | ||
| 28 | - <?php // echo $form->field($model, 'meta_title') ?> | ||
| 29 | - | ||
| 30 | - <?php // echo $form->field($model, 'description') ?> | ||
| 31 | - | ||
| 32 | - <?php // echo $form->field($model, 'h1') ?> | ||
| 33 | - | ||
| 34 | - <?php // echo $form->field($model, 'seo_text') ?> | ||
| 35 | - | ||
| 36 | - <div class="form-group"> | ||
| 37 | - <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> | ||
| 38 | - <?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?> | ||
| 39 | - </div> | ||
| 40 | - | ||
| 41 | - <?php ActiveForm::end(); ?> | ||
| 42 | - | ||
| 43 | -</div> | 1 | +<?php |
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\PageSearch */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="page-search"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin([ | ||
| 14 | + 'action' => ['index'], | ||
| 15 | + 'method' => 'get', | ||
| 16 | + ]); ?> | ||
| 17 | + | ||
| 18 | + <?= $form->field($model, 'id') ?> | ||
| 19 | + | ||
| 20 | + <?= $form->field($model, 'translit') ?> | ||
| 21 | + | ||
| 22 | + <?= $form->field($model, 'title') ?> | ||
| 23 | + | ||
| 24 | + <?= $form->field($model, 'body') ?> | ||
| 25 | + | ||
| 26 | + <?= $form->field($model, 'meta_title') ?> | ||
| 27 | + | ||
| 28 | + <?php // echo $form->field($model, 'meta_keywords') ?> | ||
| 29 | + | ||
| 30 | + <?php // echo $form->field($model, 'meta_description') ?> | ||
| 31 | + | ||
| 32 | + <?php // echo $form->field($model, 'seo_text') ?> | ||
| 33 | + | ||
| 34 | + <?php // echo $form->field($model, 'h1') ?> | ||
| 35 | + | ||
| 36 | + <div class="form-group"> | ||
| 37 | + <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> | ||
| 38 | + <?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?> | ||
| 39 | + </div> | ||
| 40 | + | ||
| 41 | + <?php ActiveForm::end(); ?> | ||
| 42 | + | ||
| 43 | +</div> |
backend/views/page/create.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | - | ||
| 5 | - | ||
| 6 | -/* @var $this yii\web\View */ | ||
| 7 | -/* @var $model backend\models\Page */ | ||
| 8 | - | ||
| 9 | -$this->title = 'Create Page'; | ||
| 10 | -$this->params['breadcrumbs'][] = ['label' => 'Pages', 'url' => ['index']]; | ||
| 11 | -$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | -?> | ||
| 13 | -<div class="page-create"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - | ||
| 17 | - <?= $this->render('_form', [ | ||
| 18 | - 'model' => $model, | ||
| 19 | - ]) ?> | ||
| 20 | - | ||
| 21 | -</div> | 1 | +<?php |
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Page */ | ||
| 8 | + | ||
| 9 | +$this->title = 'Create Page'; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Pages', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="page-create"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
backend/views/page/index.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | -use yii\grid\GridView; | ||
| 5 | - | ||
| 6 | -/* @var $this yii\web\View */ | ||
| 7 | -/* @var $searchModel backend\models\PageSearch */ | ||
| 8 | -/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | - | ||
| 10 | -$this->title = 'Статические страницы'; | ||
| 11 | -$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | -?> | ||
| 13 | -<div class="page-index"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | - | ||
| 18 | - <p> | ||
| 19 | - <?= Html::a('Создать', ['create'], ['class' => 'btn btn-success']) ?> | ||
| 20 | - </p> | ||
| 21 | - | ||
| 22 | - <?= GridView::widget([ | ||
| 23 | - 'dataProvider' => $dataProvider, | ||
| 24 | - 'filterModel' => $searchModel, | ||
| 25 | - 'columns' => [ | ||
| 26 | - ['class' => 'yii\grid\SerialColumn'], | ||
| 27 | - | ||
| 28 | - 'id', | ||
| 29 | - 'name', | ||
| 30 | - 'alias', | ||
| 31 | - 'title', | ||
| 32 | - // 'meta_title', | ||
| 33 | - // 'description', | ||
| 34 | - // 'h1', | ||
| 35 | - // 'seo_text:ntext', | ||
| 36 | - | ||
| 37 | - ['class' => 'yii\grid\ActionColumn'], | ||
| 38 | - ], | ||
| 39 | - ]); ?> | ||
| 40 | - | ||
| 41 | -</div> | 1 | +<?php |
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\grid\GridView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $searchModel common\models\PageSearch */ | ||
| 8 | +/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | + | ||
| 10 | +$this->title = 'Pages'; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="page-index"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | + | ||
| 18 | + <p> | ||
| 19 | + <?= Html::a('Create Page', ['create'], ['class' => 'btn btn-success']) ?> | ||
| 20 | + </p> | ||
| 21 | + <?= GridView::widget([ | ||
| 22 | + 'dataProvider' => $dataProvider, | ||
| 23 | + 'filterModel' => $searchModel, | ||
| 24 | + 'columns' => [ | ||
| 25 | + ['class' => 'yii\grid\SerialColumn'], | ||
| 26 | + | ||
| 27 | + 'id', | ||
| 28 | + 'translit', | ||
| 29 | + 'title', | ||
| 30 | + 'meta_title', | ||
| 31 | + // 'meta_keywords', | ||
| 32 | + // 'meta_description', | ||
| 33 | + // 'seo_text:ntext', | ||
| 34 | + // 'h1', | ||
| 35 | + | ||
| 36 | + ['class' => 'yii\grid\ActionColumn'], | ||
| 37 | + ], | ||
| 38 | + ]); ?> | ||
| 39 | +</div> |
backend/views/page/update.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | - | ||
| 5 | -/* @var $this yii\web\View */ | ||
| 6 | -/* @var $model backend\models\Page */ | ||
| 7 | - | ||
| 8 | -$this->title = 'Update Page: ' . ' ' . $model->name; | ||
| 9 | -$this->params['breadcrumbs'][] = ['label' => 'Pages', 'url' => ['index']]; | ||
| 10 | -$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id]]; | ||
| 11 | -$this->params['breadcrumbs'][] = 'Обновление'; | ||
| 12 | -?> | ||
| 13 | -<div class="page-update"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - | ||
| 17 | - <?= $this->render('_form', [ | ||
| 18 | - 'model' => $model, | ||
| 19 | - ]) ?> | ||
| 20 | - | ||
| 21 | -</div> | 1 | +<?php |
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | +/* @var $this yii\web\View */ | ||
| 6 | +/* @var $model common\models\Page */ | ||
| 7 | + | ||
| 8 | +$this->title = 'Update Page: ' . $model->title; | ||
| 9 | +$this->params['breadcrumbs'][] = ['label' => 'Pages', 'url' => ['index']]; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]]; | ||
| 11 | +$this->params['breadcrumbs'][] = 'Update'; | ||
| 12 | +?> | ||
| 13 | +<div class="page-update"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
backend/views/page/view.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | -use yii\widgets\DetailView; | ||
| 5 | - | ||
| 6 | -/* @var $this yii\web\View */ | ||
| 7 | -/* @var $model backend\models\Page */ | ||
| 8 | - | ||
| 9 | -$this->title = $model->name; | ||
| 10 | -$this->params['breadcrumbs'][] = ['label' => 'Pages', 'url' => ['index']]; | ||
| 11 | -$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | -?> | ||
| 13 | -<div class="page-view"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - | ||
| 17 | - <p> | ||
| 18 | - <?= Html::a('Обновить', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | - <?=Html::a('Удалить', ['delete', 'id' => $model->id], [ | ||
| 20 | - 'class' => 'btn btn-danger', | ||
| 21 | - 'data' => [ | ||
| 22 | - 'confirm' => 'Вы уверены что хотите удалить этот элемент?', | ||
| 23 | - 'method' => 'post', | ||
| 24 | - ], | ||
| 25 | - ]) ?> | ||
| 26 | - </p> | ||
| 27 | - | ||
| 28 | - <?= DetailView::widget([ | ||
| 29 | - 'model' => $model, | ||
| 30 | - 'attributes' => [ | ||
| 31 | - 'id', | ||
| 32 | - 'name', | ||
| 33 | - 'alias', | ||
| 34 | - 'title', | ||
| 35 | - 'meta_title', | ||
| 36 | - 'description', | ||
| 37 | - 'h1', | ||
| 38 | - 'seo_text:ntext', | ||
| 39 | - ], | ||
| 40 | - ]) ?> | ||
| 41 | - | ||
| 42 | -</div> | 1 | +<?php |
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\DetailView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Page */ | ||
| 8 | + | ||
| 9 | +$this->title = $model->title; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Pages', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="page-view"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <p> | ||
| 18 | + <?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | + <?= Html::a('Delete', ['delete', 'id' => $model->id], [ | ||
| 20 | + 'class' => 'btn btn-danger', | ||
| 21 | + 'data' => [ | ||
| 22 | + 'confirm' => 'Are you sure you want to delete this item?', | ||
| 23 | + 'method' => 'post', | ||
| 24 | + ], | ||
| 25 | + ]) ?> | ||
| 26 | + </p> | ||
| 27 | + | ||
| 28 | + <?= DetailView::widget([ | ||
| 29 | + 'model' => $model, | ||
| 30 | + 'attributes' => [ | ||
| 31 | + 'id', | ||
| 32 | + 'translit', | ||
| 33 | + 'title', | ||
| 34 | + 'body:ntext', | ||
| 35 | + 'meta_title', | ||
| 36 | + 'meta_keywords', | ||
| 37 | + 'meta_description', | ||
| 38 | + 'seo_text:ntext', | ||
| 39 | + 'h1', | ||
| 40 | + ], | ||
| 41 | + ]) ?> | ||
| 42 | + | ||
| 43 | +</div> |
backend/views/slider-image/_form.php
| @@ -14,29 +14,27 @@ use yii\widgets\ActiveForm; | @@ -14,29 +14,27 @@ use yii\widgets\ActiveForm; | ||
| 14 | 14 | ||
| 15 | <div class="slider-image-form"> | 15 | <div class="slider-image-form"> |
| 16 | 16 | ||
| 17 | - <?php $form = ActiveForm::begin(); ?> | ||
| 18 | - <?= ImageUploader::widget([ | ||
| 19 | - 'model'=> $model, | ||
| 20 | - 'field'=>'image', | ||
| 21 | - 'size' => [ | ||
| 22 | - [ | ||
| 23 | - 'width'=>$slider->width, | ||
| 24 | - 'height'=>$slider->height, | ||
| 25 | - ], | ||
| 26 | - ], | ||
| 27 | - 'gallery' =>$model->image, | ||
| 28 | - 'name' => 'Загрузить миниатюру статьи' | ||
| 29 | - ]); | ||
| 30 | - ?> | 17 | + <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?> |
| 31 | 18 | ||
| 19 | + <?= $form->field($model, 'image')->widget(\kartik\file\FileInput::classname(), [ | ||
| 20 | + 'options' => [ | ||
| 21 | + 'accept' => 'image/*', | ||
| 22 | + 'multiple' => true | ||
| 23 | + ], | ||
| 24 | + 'pluginOptions' => [ | ||
| 25 | + 'allowedFileExtensions' => ['jpg','gif','png'], | ||
| 26 | + 'initialPreview' => $model->imageUrl ? Yii::$app->imageCache->thumb($model->imageUrl, 'slider') : '', | ||
| 27 | + 'overwriteInitial' => true, | ||
| 28 | + 'showRemove' => true, | ||
| 29 | + 'showUpload' => false, | ||
| 30 | + ], | ||
| 31 | + ]); ?> | ||
| 32 | <?= $form->field($model, 'alt')->textInput(['maxlength' => true]) ?> | 32 | <?= $form->field($model, 'alt')->textInput(['maxlength' => true]) ?> |
| 33 | 33 | ||
| 34 | <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> | 34 | <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> |
| 35 | 35 | ||
| 36 | <?= $form->field($model, 'url')->textInput(['maxlength' => true]) ?> | 36 | <?= $form->field($model, 'url')->textInput(['maxlength' => true]) ?> |
| 37 | 37 | ||
| 38 | - <?= $form->field($model, 'price')->textInput(['maxlength' => true]) ?> | ||
| 39 | - | ||
| 40 | <?= $form->field($model, 'status')->widget(Select2::className(),([ | 38 | <?= $form->field($model, 'status')->widget(Select2::className(),([ |
| 41 | 'name' => 'status', | 39 | 'name' => 'status', |
| 42 | 'hideSearch' => true, | 40 | 'hideSearch' => true, |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Subscribe */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="subscribe-form"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin(); ?> | ||
| 14 | + | ||
| 15 | + <?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?> | ||
| 16 | + | ||
| 17 | + <?= $form->field($model, 'sale')->textInput() ?> | ||
| 18 | + | ||
| 19 | + <div class="form-group"> | ||
| 20 | + <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 21 | + </div> | ||
| 22 | + | ||
| 23 | + <?php ActiveForm::end(); ?> | ||
| 24 | + | ||
| 25 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\ActiveForm; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\SubscribeSearch */ | ||
| 8 | +/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | +?> | ||
| 10 | + | ||
| 11 | +<div class="subscribe-search"> | ||
| 12 | + | ||
| 13 | + <?php $form = ActiveForm::begin([ | ||
| 14 | + 'action' => ['index'], | ||
| 15 | + 'method' => 'get', | ||
| 16 | + ]); ?> | ||
| 17 | + | ||
| 18 | + <?= $form->field($model, 'id') ?> | ||
| 19 | + | ||
| 20 | + <?= $form->field($model, 'email') ?> | ||
| 21 | + | ||
| 22 | + <?= $form->field($model, 'sale') ?> | ||
| 23 | + | ||
| 24 | + <?= $form->field($model, 'sand') ?> | ||
| 25 | + | ||
| 26 | + <div class="form-group"> | ||
| 27 | + <?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?> | ||
| 28 | + <?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?> | ||
| 29 | + </div> | ||
| 30 | + | ||
| 31 | + <?php ActiveForm::end(); ?> | ||
| 32 | + | ||
| 33 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Subscribe */ | ||
| 8 | + | ||
| 9 | +$this->title = 'Create Subscribe'; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Subscribes', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="subscribe-create"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\grid\GridView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $searchModel common\models\SubscribeSearch */ | ||
| 8 | +/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | + | ||
| 10 | +$this->title = 'Subscribes'; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="subscribe-index"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | + | ||
| 18 | + <p> | ||
| 19 | + <?= Html::a('Create Subscribe', ['create'], ['class' => 'btn btn-success']) ?> | ||
| 20 | + </p> | ||
| 21 | + <?= GridView::widget([ | ||
| 22 | + 'dataProvider' => $dataProvider, | ||
| 23 | + 'filterModel' => $searchModel, | ||
| 24 | + 'columns' => [ | ||
| 25 | + ['class' => 'yii\grid\SerialColumn'], | ||
| 26 | + | ||
| 27 | + 'id', | ||
| 28 | + 'email:email', | ||
| 29 | + 'sale', | ||
| 30 | + 'sand', | ||
| 31 | + | ||
| 32 | + ['class' => 'yii\grid\ActionColumn'], | ||
| 33 | + ], | ||
| 34 | + ]); ?> | ||
| 35 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | + | ||
| 5 | +/* @var $this yii\web\View */ | ||
| 6 | +/* @var $model common\models\Subscribe */ | ||
| 7 | + | ||
| 8 | +$this->title = 'Update Subscribe: ' . $model->id; | ||
| 9 | +$this->params['breadcrumbs'][] = ['label' => 'Subscribes', 'url' => ['index']]; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => $model->id, 'url' => ['view', 'id' => $model->id]]; | ||
| 11 | +$this->params['breadcrumbs'][] = 'Update'; | ||
| 12 | +?> | ||
| 13 | +<div class="subscribe-update"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <?= $this->render('_form', [ | ||
| 18 | + 'model' => $model, | ||
| 19 | + ]) ?> | ||
| 20 | + | ||
| 21 | +</div> |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\helpers\Html; | ||
| 4 | +use yii\widgets\DetailView; | ||
| 5 | + | ||
| 6 | +/* @var $this yii\web\View */ | ||
| 7 | +/* @var $model common\models\Subscribe */ | ||
| 8 | + | ||
| 9 | +$this->title = $model->id; | ||
| 10 | +$this->params['breadcrumbs'][] = ['label' => 'Subscribes', 'url' => ['index']]; | ||
| 11 | +$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | +?> | ||
| 13 | +<div class="subscribe-view"> | ||
| 14 | + | ||
| 15 | + <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | + | ||
| 17 | + <p> | ||
| 18 | + <?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | + <?= Html::a('Delete', ['delete', 'id' => $model->id], [ | ||
| 20 | + 'class' => 'btn btn-danger', | ||
| 21 | + 'data' => [ | ||
| 22 | + 'confirm' => 'Are you sure you want to delete this item?', | ||
| 23 | + 'method' => 'post', | ||
| 24 | + ], | ||
| 25 | + ]) ?> | ||
| 26 | + </p> | ||
| 27 | + | ||
| 28 | + <?= DetailView::widget([ | ||
| 29 | + 'model' => $model, | ||
| 30 | + 'attributes' => [ | ||
| 31 | + 'id', | ||
| 32 | + 'email:email', | ||
| 33 | + 'sale', | ||
| 34 | + 'sand', | ||
| 35 | + ], | ||
| 36 | + ]) ?> | ||
| 37 | + | ||
| 38 | +</div> |
common/models/Articles.php
| @@ -2,13 +2,63 @@ | @@ -2,13 +2,63 @@ | ||
| 2 | 2 | ||
| 3 | namespace common\models; | 3 | namespace common\models; |
| 4 | 4 | ||
| 5 | +use Yii; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * This is the model class for table "articles". | ||
| 9 | + * | ||
| 10 | + * @property integer $id | ||
| 11 | + * @property string $date | ||
| 12 | + * @property string $title | ||
| 13 | + * @property string $body | ||
| 14 | + * @property string $image | ||
| 15 | + * @property string $translit | ||
| 16 | + * @property string $meta_title | ||
| 17 | + * @property string $meta_keywords | ||
| 18 | + * @property string $meta_description | ||
| 19 | + * @property string $seo_text | ||
| 20 | + * @property string $h1 | ||
| 21 | + */ | ||
| 5 | class Articles extends \yii\db\ActiveRecord | 22 | class Articles extends \yii\db\ActiveRecord |
| 6 | { | 23 | { |
| 24 | + /** | ||
| 25 | + * @inheritdoc | ||
| 26 | + */ | ||
| 7 | public static function tableName() | 27 | public static function tableName() |
| 8 | { | 28 | { |
| 9 | return 'articles'; | 29 | return 'articles'; |
| 10 | } | 30 | } |
| 11 | - | ||
| 12 | - | ||
| 13 | - | ||
| 14 | -} | ||
| 15 | \ No newline at end of file | 31 | \ No newline at end of file |
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * @inheritdoc | ||
| 35 | + */ | ||
| 36 | + public function rules() | ||
| 37 | + { | ||
| 38 | + return [ | ||
| 39 | + [['date'], 'safe'], | ||
| 40 | + [['title', 'body', 'image', 'translit'], 'required'], | ||
| 41 | + [['body', 'seo_text'], 'string'], | ||
| 42 | + [['title', 'image', 'translit', 'meta_title', 'meta_keywords', 'meta_description', 'h1'], 'string', 'max' => 255], | ||
| 43 | + ]; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * @inheritdoc | ||
| 48 | + */ | ||
| 49 | + public function attributeLabels() | ||
| 50 | + { | ||
| 51 | + return [ | ||
| 52 | + 'id' => 'ID', | ||
| 53 | + 'date' => 'Date', | ||
| 54 | + 'title' => 'Title', | ||
| 55 | + 'body' => 'Body', | ||
| 56 | + 'image' => 'Image', | ||
| 57 | + 'translit' => 'Translit', | ||
| 58 | + 'meta_title' => 'Meta Title', | ||
| 59 | + 'meta_keywords' => 'Meta Keywords', | ||
| 60 | + 'meta_description' => 'Meta Description', | ||
| 61 | + 'seo_text' => 'Seo Text', | ||
| 62 | + 'h1' => 'H1', | ||
| 63 | + ]; | ||
| 64 | + } | ||
| 65 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use yii\base\Model; | ||
| 7 | +use yii\data\ActiveDataProvider; | ||
| 8 | +use common\models\Articles; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * ArticlesSearch represents the model behind the search form about `common\models\Articles`. | ||
| 12 | + */ | ||
| 13 | +class ArticlesSearch extends Articles | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * @inheritdoc | ||
| 17 | + */ | ||
| 18 | + public function rules() | ||
| 19 | + { | ||
| 20 | + return [ | ||
| 21 | + [['id'], 'integer'], | ||
| 22 | + [['date', 'title', 'body', 'image', 'translit', 'meta_title', 'meta_keywords', 'meta_description', 'seo_text', 'h1'], 'safe'], | ||
| 23 | + ]; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * @inheritdoc | ||
| 28 | + */ | ||
| 29 | + public function scenarios() | ||
| 30 | + { | ||
| 31 | + // bypass scenarios() implementation in the parent class | ||
| 32 | + return Model::scenarios(); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * Creates data provider instance with search query applied | ||
| 37 | + * | ||
| 38 | + * @param array $params | ||
| 39 | + * | ||
| 40 | + * @return ActiveDataProvider | ||
| 41 | + */ | ||
| 42 | + public function search($params) | ||
| 43 | + { | ||
| 44 | + $query = Articles::find(); | ||
| 45 | + | ||
| 46 | + // add conditions that should always apply here | ||
| 47 | + | ||
| 48 | + $dataProvider = new ActiveDataProvider([ | ||
| 49 | + 'query' => $query, | ||
| 50 | + ]); | ||
| 51 | + | ||
| 52 | + $this->load($params); | ||
| 53 | + | ||
| 54 | + if (!$this->validate()) { | ||
| 55 | + // uncomment the following line if you do not want to return any records when validation fails | ||
| 56 | + // $query->where('0=1'); | ||
| 57 | + return $dataProvider; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + // grid filtering conditions | ||
| 61 | + $query->andFilterWhere([ | ||
| 62 | + 'id' => $this->id, | ||
| 63 | + 'date' => $this->date, | ||
| 64 | + ]); | ||
| 65 | + | ||
| 66 | + $query->andFilterWhere(['like', 'title', $this->title]) | ||
| 67 | + ->andFilterWhere(['like', 'body', $this->body]) | ||
| 68 | + ->andFilterWhere(['like', 'image', $this->image]) | ||
| 69 | + ->andFilterWhere(['like', 'translit', $this->translit]) | ||
| 70 | + ->andFilterWhere(['like', 'meta_title', $this->meta_title]) | ||
| 71 | + ->andFilterWhere(['like', 'meta_keywords', $this->meta_keywords]) | ||
| 72 | + ->andFilterWhere(['like', 'meta_description', $this->meta_description]) | ||
| 73 | + ->andFilterWhere(['like', 'seo_text', $this->seo_text]) | ||
| 74 | + ->andFilterWhere(['like', 'h1', $this->h1]); | ||
| 75 | + | ||
| 76 | + return $dataProvider; | ||
| 77 | + } | ||
| 78 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use yii\base\Model; | ||
| 7 | +use yii\data\ActiveDataProvider; | ||
| 8 | +use common\models\Bg; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * BgSearch represents the model behind the search form about `common\models\Bg`. | ||
| 12 | + */ | ||
| 13 | +class BgSearch extends Bg | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * @inheritdoc | ||
| 17 | + */ | ||
| 18 | + public function rules() | ||
| 19 | + { | ||
| 20 | + return [ | ||
| 21 | + [['id'], 'integer'], | ||
| 22 | + [['title', 'url', 'image'], 'safe'], | ||
| 23 | + ]; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * @inheritdoc | ||
| 28 | + */ | ||
| 29 | + public function scenarios() | ||
| 30 | + { | ||
| 31 | + // bypass scenarios() implementation in the parent class | ||
| 32 | + return Model::scenarios(); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * Creates data provider instance with search query applied | ||
| 37 | + * | ||
| 38 | + * @param array $params | ||
| 39 | + * | ||
| 40 | + * @return ActiveDataProvider | ||
| 41 | + */ | ||
| 42 | + public function search($params) | ||
| 43 | + { | ||
| 44 | + $query = Bg::find(); | ||
| 45 | + | ||
| 46 | + // add conditions that should always apply here | ||
| 47 | + | ||
| 48 | + $dataProvider = new ActiveDataProvider([ | ||
| 49 | + 'query' => $query, | ||
| 50 | + ]); | ||
| 51 | + | ||
| 52 | + $this->load($params); | ||
| 53 | + | ||
| 54 | + if (!$this->validate()) { | ||
| 55 | + // uncomment the following line if you do not want to return any records when validation fails | ||
| 56 | + // $query->where('0=1'); | ||
| 57 | + return $dataProvider; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + // grid filtering conditions | ||
| 61 | + $query->andFilterWhere([ | ||
| 62 | + 'id' => $this->id, | ||
| 63 | + ]); | ||
| 64 | + | ||
| 65 | + $query->andFilterWhere(['like', 'title', $this->title]) | ||
| 66 | + ->andFilterWhere(['like', 'url', $this->url]) | ||
| 67 | + ->andFilterWhere(['like', 'image', $this->image]); | ||
| 68 | + | ||
| 69 | + return $dataProvider; | ||
| 70 | + } | ||
| 71 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use yii\base\Model; | ||
| 7 | +use yii\data\ActiveDataProvider; | ||
| 8 | +use common\models\Customer; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * CustomerSearch represents the model behind the search form about `common\models\Customer`. | ||
| 12 | + */ | ||
| 13 | +class CustomerSearch extends Customer | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * @inheritdoc | ||
| 17 | + */ | ||
| 18 | + public function rules() | ||
| 19 | + { | ||
| 20 | + return [ | ||
| 21 | + [['id', 'birth_day', 'birth_month', 'birth_year', 'group_id'], 'integer'], | ||
| 22 | + [['username', 'password', 'name', 'surname', 'phone', 'date_time', 'sex', 'body'], 'safe'], | ||
| 23 | + ]; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * @inheritdoc | ||
| 28 | + */ | ||
| 29 | + public function scenarios() | ||
| 30 | + { | ||
| 31 | + // bypass scenarios() implementation in the parent class | ||
| 32 | + return Model::scenarios(); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * Creates data provider instance with search query applied | ||
| 37 | + * | ||
| 38 | + * @param array $params | ||
| 39 | + * | ||
| 40 | + * @return ActiveDataProvider | ||
| 41 | + */ | ||
| 42 | + public function search($params) | ||
| 43 | + { | ||
| 44 | + $query = Customer::find(); | ||
| 45 | + | ||
| 46 | + // add conditions that should always apply here | ||
| 47 | + | ||
| 48 | + $dataProvider = new ActiveDataProvider([ | ||
| 49 | + 'query' => $query, | ||
| 50 | + ]); | ||
| 51 | + | ||
| 52 | + $this->load($params); | ||
| 53 | + | ||
| 54 | + if (!$this->validate()) { | ||
| 55 | + // uncomment the following line if you do not want to return any records when validation fails | ||
| 56 | + // $query->where('0=1'); | ||
| 57 | + return $dataProvider; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + // grid filtering conditions | ||
| 61 | + $query->andFilterWhere([ | ||
| 62 | + 'id' => $this->id, | ||
| 63 | + 'date_time' => $this->date_time, | ||
| 64 | + 'birth_day' => $this->birth_day, | ||
| 65 | + 'birth_month' => $this->birth_month, | ||
| 66 | + 'birth_year' => $this->birth_year, | ||
| 67 | + 'group_id' => $this->group_id, | ||
| 68 | + ]); | ||
| 69 | + | ||
| 70 | + $query->andFilterWhere(['like', 'username', $this->username]) | ||
| 71 | + ->andFilterWhere(['like', 'password', $this->password]) | ||
| 72 | + ->andFilterWhere(['like', 'name', $this->name]) | ||
| 73 | + ->andFilterWhere(['like', 'surname', $this->surname]) | ||
| 74 | + ->andFilterWhere(['like', 'phone', $this->phone]) | ||
| 75 | + ->andFilterWhere(['like', 'sex', $this->sex]) | ||
| 76 | + ->andFilterWhere(['like', 'body', $this->body]); | ||
| 77 | + | ||
| 78 | + return $dataProvider; | ||
| 79 | + } | ||
| 80 | +} |
common/models/OrderItems.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace common\models; | ||
| 4 | - | ||
| 5 | -use common\modules\product\models\ProductVariant; | ||
| 6 | -use Yii; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * This is the model class for table "order_items". | ||
| 10 | - * | ||
| 11 | - * @property integer $order_items_id | ||
| 12 | - * @property integer $order_id | ||
| 13 | - * @property integer $item_id | ||
| 14 | - * @property integer $item_count | ||
| 15 | - * @property double $price | ||
| 16 | - * | ||
| 17 | - * @property Orders $order | ||
| 18 | - * @property ProductVariant $item | ||
| 19 | - */ | ||
| 20 | -class OrderItems extends \yii\db\ActiveRecord | ||
| 21 | -{ | ||
| 22 | - /** | ||
| 23 | - * @inheritdoc | ||
| 24 | - */ | ||
| 25 | - public static function tableName() | ||
| 26 | - { | ||
| 27 | - return 'order_items'; | ||
| 28 | - } | ||
| 29 | - | ||
| 30 | - /** | ||
| 31 | - * @inheritdoc | ||
| 32 | - */ | ||
| 33 | - public function rules() | ||
| 34 | - { | ||
| 35 | - return [ | ||
| 36 | - [['order_id', 'item_id', 'item_count'], 'integer'], | ||
| 37 | - [['price'], 'number'], | ||
| 38 | - [['order_id'], 'exist', 'skipOnError' => true, 'targetClass' => Orders::className(), 'targetAttribute' => ['order_id' => 'order_id']], | ||
| 39 | - [['item_id'], 'exist', 'skipOnError' => true, 'targetClass' => ProductVariant::className(), 'targetAttribute' => ['item_id' => 'product_variant_id']], | ||
| 40 | - ]; | ||
| 41 | - } | ||
| 42 | - | ||
| 43 | - /** | ||
| 44 | - * @inheritdoc | ||
| 45 | - */ | ||
| 46 | - public function attributeLabels() | ||
| 47 | - { | ||
| 48 | - return [ | ||
| 49 | - 'order_items_id' => Yii::t('app', 'order_items_id'), | ||
| 50 | - 'order_id' => Yii::t('app', 'order_id'), | ||
| 51 | - 'item_id' => Yii::t('app', 'item_id'), | ||
| 52 | - 'item_count' => Yii::t('app', 'item_count'), | ||
| 53 | - 'price' => Yii::t('app', 'price'), | ||
| 54 | - ]; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - /** | ||
| 58 | - * @return \yii\db\ActiveQuery | ||
| 59 | - */ | ||
| 60 | - public function getOrder() | ||
| 61 | - { | ||
| 62 | - return $this->hasOne(Orders::className(), ['order_id' => 'order_id']); | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - /** | ||
| 66 | - * @return \yii\db\ActiveQuery | ||
| 67 | - */ | ||
| 68 | - public function getItem() | ||
| 69 | - { | ||
| 70 | - return $this->hasOne(ProductVariant::className(), ['product_variant_id' => 'item_id']); | ||
| 71 | - } | ||
| 72 | -} |
common/models/Orders.php
| 1 | <?php | 1 | <?php |
| 2 | - | ||
| 3 | namespace common\models; | 2 | namespace common\models; |
| 4 | 3 | ||
| 5 | use Yii; | 4 | use Yii; |
| 6 | -use yii\behaviors\TimestampBehavior; | ||
| 7 | -/** | ||
| 8 | - * This is the model class for table "orders". | ||
| 9 | - * | ||
| 10 | - * @property integer $order_id | ||
| 11 | - * @property integer $customer_id | ||
| 12 | - * @property string $name | ||
| 13 | - * @property string $email | ||
| 14 | - * @property string $phone | ||
| 15 | - * @property integer $delivery | ||
| 16 | - * @property integer $payment | ||
| 17 | - * @property string $code | ||
| 18 | - * @property integer $status | ||
| 19 | - * @property integer $created_at | ||
| 20 | - * @property integer $updated_at | ||
| 21 | - * | ||
| 22 | - * @property OrderItems[] $orderItems | ||
| 23 | - */ | 5 | +use yii\web\Session; |
| 6 | +use common\modules\product\models\ProductVariant; | ||
| 7 | + | ||
| 24 | class Orders extends \yii\db\ActiveRecord | 8 | class Orders extends \yii\db\ActiveRecord |
| 25 | { | 9 | { |
| 26 | 10 | ||
| 27 | - | ||
| 28 | - /** | ||
| 29 | - * @inheritdoc | ||
| 30 | - */ | ||
| 31 | public static function tableName() | 11 | public static function tableName() |
| 32 | { | 12 | { |
| 33 | return 'orders'; | 13 | return 'orders'; |
| 34 | } | 14 | } |
| 35 | 15 | ||
| 36 | - | ||
| 37 | - /** | ||
| 38 | - * @inheritdoc | ||
| 39 | - */ | ||
| 40 | public function rules() | 16 | public function rules() |
| 41 | { | 17 | { |
| 42 | return [ | 18 | return [ |
| 43 | - [['customer_id', 'delivery', 'payment', 'status', 'created_at', 'updated_at'], 'integer'], | ||
| 44 | - [['created', 'updated'],'safe'], | ||
| 45 | - [['name', 'email', 'phone'], 'required'], | ||
| 46 | - [['name', 'email', 'code'], 'string', 'max' => 255], | ||
| 47 | - [['phone'], 'string', 'max' => 32], | 19 | + [['name', 'phone'], 'required','whenClient' => true], |
| 20 | + //['email', 'email'], | ||
| 21 | + [['total','body','patronymic','surname','email','phone2','delivery','payment'], 'safe'], | ||
| 22 | + [['email'],'email'], | ||
| 48 | ]; | 23 | ]; |
| 49 | } | 24 | } |
| 50 | 25 | ||
| 51 | - /** | ||
| 52 | - * @inheritdoc | ||
| 53 | - */ | ||
| 54 | - public function behaviors() | 26 | + public function attributeLabels() |
| 55 | { | 27 | { |
| 56 | return [ | 28 | return [ |
| 57 | - TimestampBehavior::className(), | 29 | + 'name' => 'Имя', |
| 30 | + 'phone'=>'Телефон', | ||
| 31 | + 'phone2'=>'Дополнительный телефон', | ||
| 32 | + 'body'=>'Сообщение', | ||
| 33 | + 'adress'=>'Адрес', | ||
| 34 | + 'city'=>'Город', | ||
| 35 | + 'patronymic'=>'Отчество', | ||
| 36 | + 'surname'=>'Фамилия', | ||
| 37 | + 'email'=>'E-mail', | ||
| 38 | + 'date_time'=>'Дата', | ||
| 39 | + 'total'=>'Сума', | ||
| 40 | + 'status'=>'Статус', | ||
| 41 | + 'delivery'=>'Вариант доставки', | ||
| 42 | + 'payment'=>'Способы оплаты', | ||
| 58 | ]; | 43 | ]; |
| 59 | } | 44 | } |
| 60 | 45 | ||
| 46 | + public function beforeSave($insert) { | ||
| 47 | + $this->user_id = Yii::$app->user->id; | ||
| 48 | + $this->date_time = new \yii\db\Expression('NOW()'); | ||
| 49 | + return parent::beforeSave($insert); | ||
| 50 | + } | ||
| 61 | 51 | ||
| 62 | - public function getCreated(){ | ||
| 63 | - if(!empty($this->created_at)){ | ||
| 64 | - return date("Y-m-d" , $this->created_at); | 52 | + public function beforeDelete() { |
| 53 | + return parent::beforeDelete(); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public function contact($email,$body) | ||
| 57 | + { | ||
| 58 | + if ($this->validate()) { | ||
| 59 | + $body .= 'Вся сумма: '.$this->total; | ||
| 60 | + $body .= "\n\r"; | ||
| 61 | + $body .= 'Имя: '.$this->name; | ||
| 62 | + $body .= "\n\r"; | ||
| 63 | + $body .= 'Фамилия: '.$this->surname; | ||
| 64 | + $body .= "\n\r"; | ||
| 65 | + $body .= 'Отчество: '.$this->patronymic; | ||
| 66 | + $body .= "\n\r"; | ||
| 67 | + $body .= 'E-mail: '.$this->email; | ||
| 68 | + $body .= "\n\r"; | ||
| 69 | + $body .= 'Телефон: '.$this->phone; | ||
| 70 | + $body .= "\n\r"; | ||
| 71 | + $body .= 'Адрес: '.$this->adress; | ||
| 72 | + $body .= "\n\r"; | ||
| 73 | + $body .= 'Сообщение: '.$this->body; | ||
| 74 | + $body .= "\n\r"; | ||
| 75 | + | ||
| 76 | + Yii::$app->mailer->compose() | ||
| 77 | + ->setTo($email) | ||
| 78 | + ->setFrom(['send@artweb.ua' => 'send']) | ||
| 79 | + ->setSubject('Заказ на сайте Рюкзаки') | ||
| 80 | + ->setTextBody($body) | ||
| 81 | + ->send(); | ||
| 82 | + return true; | ||
| 65 | } else { | 83 | } else { |
| 66 | - return ''; | 84 | + return false; |
| 85 | + } | ||
| 86 | + } | ||
| 87 | + public function addBasket ($mod_id, $count) | ||
| 88 | + { | ||
| 89 | + $session = new Session; | ||
| 90 | + $session->open (); | ||
| 91 | + $data = $session['basket']; | ||
| 92 | + $i = 0; | ||
| 93 | + if (isset($session['basket'])) | ||
| 94 | + { | ||
| 95 | + foreach ($session['basket'] as $key => $basket) | ||
| 96 | + { | ||
| 97 | + if ($mod_id == $basket['id']) | ||
| 98 | + { | ||
| 99 | + $data[$key]['count'] += $count; | ||
| 100 | + $session['basket'] = $data; | ||
| 101 | + $i++; | ||
| 102 | + } | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + if ($i == 0) | ||
| 106 | + { | ||
| 107 | + $data[] = ['id' => $mod_id, 'count' => $count]; | ||
| 108 | + $session['basket'] = $data; | ||
| 67 | } | 109 | } |
| 68 | } | 110 | } |
| 69 | 111 | ||
| 70 | 112 | ||
| 71 | - public function getUpdated(){ | ||
| 72 | - if(!empty($this->updated_at)){ | ||
| 73 | - return date("Y-m-d" , $this->updated_at); | ||
| 74 | - } else { | ||
| 75 | - return ''; | 113 | + public function rowBasket () |
| 114 | + { | ||
| 115 | + $session = new Session; | ||
| 116 | + $session->open (); | ||
| 117 | + $cost = 0; | ||
| 118 | + $count = 0; | ||
| 119 | + if (isset($session['basket']) && count ($session['basket'])) | ||
| 120 | + { | ||
| 121 | + foreach ($session['basket'] as $product) | ||
| 122 | + { | ||
| 123 | + $count += $product['count']; | ||
| 124 | + } | ||
| 76 | } | 125 | } |
| 126 | + | ||
| 127 | + return (object)['cost' => $cost, 'count' => $count]; | ||
| 77 | } | 128 | } |
| 78 | 129 | ||
| 79 | - /** | ||
| 80 | - * @inheritdoc | ||
| 81 | - */ | ||
| 82 | - public function attributeLabels() | 130 | + |
| 131 | + public function deleteBasketMod ($id) | ||
| 83 | { | 132 | { |
| 84 | - return [ | ||
| 85 | - 'order_id' => Yii::t('app', 'order_id'), | ||
| 86 | - 'customer_id' => Yii::t('app', 'customer_id'), | ||
| 87 | - 'name' => Yii::t('app', 'name'), | ||
| 88 | - 'email' => Yii::t('app', 'email'), | ||
| 89 | - 'phone' => Yii::t('app', 'phone'), | ||
| 90 | - 'delivery' => Yii::t('app', 'delivery'), | ||
| 91 | - 'payment' => Yii::t('app', 'payment'), | ||
| 92 | - 'code' => Yii::t('app', 'code'), | ||
| 93 | - 'status' => Yii::t('app', 'status'), | ||
| 94 | - 'created_at' => Yii::t('app', 'created_at'), | ||
| 95 | - 'updated_at' => Yii::t('app', 'updated_at'), | ||
| 96 | - ]; | 133 | + $session = new Session; |
| 134 | + $session->open (); | ||
| 135 | + $basket = $session['basket']; | ||
| 136 | + foreach ($basket as $key => $product) | ||
| 137 | + { | ||
| 138 | + if ($id == $product['id']) unset($basket[$key]); | ||
| 139 | + } | ||
| 140 | + $session['basket'] = $basket; | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + public function updateBasket ($row) | ||
| 144 | + { | ||
| 145 | + $session = new Session; | ||
| 146 | + $session->open (); | ||
| 147 | + //$data = array(); | ||
| 148 | + if ($row['count'] > 0) $this->data[] = ['id' => $row['id'], 'count' => $row['count']]; | ||
| 149 | + $session['basket'] = $this->data; | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + | ||
| 153 | + public function getBasketMods () | ||
| 154 | + { | ||
| 155 | + $session = new Session; | ||
| 156 | + $session->open (); | ||
| 157 | + $products = []; | ||
| 158 | + if (empty($session['basket'])) return []; | ||
| 159 | + foreach ($session['basket'] as $product) | ||
| 160 | + { | ||
| 161 | + $row = ProductVariant::find ()->select (['product_variant.*', 'product.name as product_name', 'product.alias']) | ||
| 162 | + ->where (['product_variant.product_variant_id' => $product['id']]) | ||
| 163 | + ->leftJoin ('product', 'product.product_id = product_variant.product_id') | ||
| 164 | + ->one (); | ||
| 165 | + $row->count = $product['count']; | ||
| 166 | + $row->sum_cost = $product['count'] * $row->price; | ||
| 167 | + $products[] = $row; | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + return $products; | ||
| 171 | + } | ||
| 172 | + | ||
| 173 | + public function getSumCost () | ||
| 174 | + { | ||
| 175 | + $session = new Session; | ||
| 176 | + $session->open (); | ||
| 177 | + $cost = 0; | ||
| 178 | + if (empty($session['basket'])) return false; | ||
| 179 | + foreach ($session['basket'] as $product) | ||
| 180 | + { | ||
| 181 | + $cost += ($this->getModCost ($product['id']) * $product['count']); | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | + return $cost; | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | + private function getModCost ($mod_id) | ||
| 188 | + { | ||
| 189 | + $mod = ProductVariant::find ()->where (['product_variant_id' => $mod_id])->one (); | ||
| 190 | + | ||
| 191 | + return $mod->price; | ||
| 192 | + } | ||
| 193 | + | ||
| 194 | + public function getUser() | ||
| 195 | + { | ||
| 196 | + return $this->hasOne(User::className(), ['id' => 'user_id']); | ||
| 97 | } | 197 | } |
| 98 | 198 | ||
| 99 | - /** | ||
| 100 | - * @return \yii\db\ActiveQuery | ||
| 101 | - */ | ||
| 102 | - public function getOrderItems() | 199 | + public function getProducts() |
| 103 | { | 200 | { |
| 104 | - return $this->hasMany(OrderItems::className(), ['order_id' => 'order_id']); | 201 | + return $this->hasMany(OrdersProducts::className(), ['order_id' => 'id']); |
| 105 | } | 202 | } |
| 106 | -} | 203 | -} |
| 204 | +} | ||
| 107 | \ No newline at end of file | 205 | \ No newline at end of file |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +class OrdersProducts extends \yii\db\ActiveRecord | ||
| 6 | +{ | ||
| 7 | + public static function tableName() | ||
| 8 | + { | ||
| 9 | + return 'orders_products'; | ||
| 10 | + } | ||
| 11 | + | ||
| 12 | + public function rules() | ||
| 13 | + { | ||
| 14 | + return [ | ||
| 15 | + [['order_id'], 'required'], | ||
| 16 | + //['email', 'email'], | ||
| 17 | + [['product_name','name','price','count','sum_cost','mod_id','sku'], 'safe'], | ||
| 18 | + ]; | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + public function attributeLabels() | ||
| 23 | + { | ||
| 24 | + return [ | ||
| 25 | + 'product_name'=>'Продукт', | ||
| 26 | + 'name'=>'Вид', | ||
| 27 | + 'art'=>'Артикул', | ||
| 28 | + 'cost'=>'Цена за один', | ||
| 29 | + 'count'=>'Кол.', | ||
| 30 | + 'sum_cost'=>'Сумма', | ||
| 31 | + ]; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public function getMod() | ||
| 35 | + { | ||
| 36 | + return $this->hasOne(Mod::className(), ['id' => 'mod_id']); | ||
| 37 | + } | ||
| 38 | +} | ||
| 0 | \ No newline at end of file | 39 | \ No newline at end of file |
common/models/Page.php
| @@ -5,17 +5,17 @@ namespace common\models; | @@ -5,17 +5,17 @@ namespace common\models; | ||
| 5 | use Yii; | 5 | use Yii; |
| 6 | 6 | ||
| 7 | /** | 7 | /** |
| 8 | - * This is the model class for table "{{%page}}". | 8 | + * This is the model class for table "page". |
| 9 | * | 9 | * |
| 10 | * @property integer $id | 10 | * @property integer $id |
| 11 | - * @property string $name | ||
| 12 | * @property string $translit | 11 | * @property string $translit |
| 13 | * @property string $title | 12 | * @property string $title |
| 14 | * @property string $body | 13 | * @property string $body |
| 15 | * @property string $meta_title | 14 | * @property string $meta_title |
| 16 | - * @property string $description | ||
| 17 | - * @property string $h1 | 15 | + * @property string $meta_keywords |
| 16 | + * @property string $meta_description | ||
| 18 | * @property string $seo_text | 17 | * @property string $seo_text |
| 18 | + * @property string $h1 | ||
| 19 | */ | 19 | */ |
| 20 | class Page extends \yii\db\ActiveRecord | 20 | class Page extends \yii\db\ActiveRecord |
| 21 | { | 21 | { |
| @@ -24,56 +24,53 @@ class Page extends \yii\db\ActiveRecord | @@ -24,56 +24,53 @@ class Page extends \yii\db\ActiveRecord | ||
| 24 | */ | 24 | */ |
| 25 | public static function tableName() | 25 | public static function tableName() |
| 26 | { | 26 | { |
| 27 | - return '{{page}}'; | 27 | + return 'page'; |
| 28 | } | 28 | } |
| 29 | - | ||
| 30 | /** | 29 | /** |
| 31 | * @inheritdoc | 30 | * @inheritdoc |
| 32 | */ | 31 | */ |
| 33 | - public function rules() | 32 | + public function behaviors() |
| 34 | { | 33 | { |
| 35 | return [ | 34 | return [ |
| 36 | - [['name', 'body'], 'required'], | ||
| 37 | - [['body', 'seo_text'], 'string'], | ||
| 38 | - [['name', 'h1'], 'string', 'max' => 255], | ||
| 39 | - [['alias', 'title', 'meta_title', 'description'], 'string', 'max' => 250] | 35 | + 'slug' => [ |
| 36 | + 'class' => 'common\behaviors\Slug', | ||
| 37 | + 'in_attribute' => 'title', | ||
| 38 | + 'out_attribute' => 'translit', | ||
| 39 | + 'translit' => true | ||
| 40 | + ] | ||
| 40 | ]; | 41 | ]; |
| 41 | } | 42 | } |
| 42 | - | ||
| 43 | /** | 43 | /** |
| 44 | * @inheritdoc | 44 | * @inheritdoc |
| 45 | */ | 45 | */ |
| 46 | - public function attributeLabels() | ||
| 47 | - { | ||
| 48 | - return [ | ||
| 49 | - 'id' => Yii::t('app', 'id'), | ||
| 50 | - 'name' => Yii::t('app', 'name'), | ||
| 51 | - 'alias' => Yii::t('app', 'alias'), | ||
| 52 | - 'title' => Yii::t('app', 'title'), | ||
| 53 | - 'body' => Yii::t('app', 'body'), | ||
| 54 | - 'meta_title' => Yii::t('app', 'meta_title'), | ||
| 55 | - 'description' => Yii::t('app', 'description'), | ||
| 56 | - 'h1' =>Yii::t('app', 'h1'), | ||
| 57 | - 'seo_text' => Yii::t('app', 'seo_text'), | ||
| 58 | - ]; | ||
| 59 | - } | ||
| 60 | - | ||
| 61 | - public function behaviors() | 46 | + public function rules() |
| 62 | { | 47 | { |
| 63 | return [ | 48 | return [ |
| 64 | - 'slug' => [ | ||
| 65 | - 'class' => 'common\behaviors\Slug', | ||
| 66 | - 'in_attribute' => 'name', | ||
| 67 | - 'out_attribute' => 'alias', | ||
| 68 | - 'translit' => true | ||
| 69 | - ] | 49 | + [['body', 'seo_text'], 'string'], |
| 50 | + [['translit', 'title', 'meta_title', 'meta_keywords', 'meta_description', 'h1'], 'string', 'max' => 255], | ||
| 70 | ]; | 51 | ]; |
| 71 | } | 52 | } |
| 72 | - | ||
| 73 | public function getPageTranslit($page){ | 53 | public function getPageTranslit($page){ |
| 74 | return self::find() | 54 | return self::find() |
| 75 | - ->where(['alias' => $page]) | 55 | + ->where(['translit' => $page]) |
| 76 | ->one(); | 56 | ->one(); |
| 77 | 57 | ||
| 78 | } | 58 | } |
| 59 | + /** | ||
| 60 | + * @inheritdoc | ||
| 61 | + */ | ||
| 62 | + public function attributeLabels() | ||
| 63 | + { | ||
| 64 | + return [ | ||
| 65 | + 'id' => 'ID', | ||
| 66 | + 'translit' => 'Translit', | ||
| 67 | + 'title' => 'Title', | ||
| 68 | + 'body' => 'Body', | ||
| 69 | + 'meta_title' => 'Meta Title', | ||
| 70 | + 'meta_keywords' => 'Meta Keywords', | ||
| 71 | + 'meta_description' => 'Meta Description', | ||
| 72 | + 'seo_text' => 'Seo Text', | ||
| 73 | + 'h1' => 'H1', | ||
| 74 | + ]; | ||
| 75 | + } | ||
| 79 | } | 76 | } |
common/models/PageSearch.php
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace common\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\base\Model; | ||
| 7 | -use yii\data\ActiveDataProvider; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * PageSearch represents the model behind the search form about `backend\models\Page`. | ||
| 11 | - */ | ||
| 12 | -class PageSearch extends Page | ||
| 13 | -{ | ||
| 14 | - /** | ||
| 15 | - * @inheritdoc | ||
| 16 | - */ | ||
| 17 | - public function rules() | ||
| 18 | - { | ||
| 19 | - return [ | ||
| 20 | - [['id'], 'integer'], | ||
| 21 | - [['name', 'alias', 'title', 'body', 'meta_title', 'description', 'h1', 'seo_text'], 'safe'], | ||
| 22 | - ]; | ||
| 23 | - } | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * @inheritdoc | ||
| 27 | - */ | ||
| 28 | - public function scenarios() | ||
| 29 | - { | ||
| 30 | - // bypass scenarios() implementation in the parent class | ||
| 31 | - return Model::scenarios(); | ||
| 32 | - } | ||
| 33 | - | ||
| 34 | - /** | ||
| 35 | - * Creates data provider instance with search query applied | ||
| 36 | - * | ||
| 37 | - * @param array $params | ||
| 38 | - * | ||
| 39 | - * @return ActiveDataProvider | ||
| 40 | - */ | ||
| 41 | - public function search($params) | ||
| 42 | - { | ||
| 43 | - $query = Page::find(); | ||
| 44 | - | ||
| 45 | - $dataProvider = new ActiveDataProvider([ | ||
| 46 | - 'query' => $query, | ||
| 47 | - ]); | ||
| 48 | - | ||
| 49 | - $this->load($params); | ||
| 50 | - | ||
| 51 | - if (!$this->validate()) { | ||
| 52 | - // uncomment the following line if you do not want to any records when validation fails | ||
| 53 | - // $query->where('0=1'); | ||
| 54 | - return $dataProvider; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - $query->andFilterWhere([ | ||
| 58 | - 'id' => $this->id, | ||
| 59 | - ]); | ||
| 60 | - | ||
| 61 | - $query->andFilterWhere(['like', 'name', $this->name]) | ||
| 62 | - ->andFilterWhere(['like', 'alias', $this->alias]) | ||
| 63 | - ->andFilterWhere(['like', 'title', $this->title]) | ||
| 64 | - ->andFilterWhere(['like', 'body', $this->body]) | ||
| 65 | - ->andFilterWhere(['like', 'meta_title', $this->meta_title]) | ||
| 66 | - ->andFilterWhere(['like', 'description', $this->description]) | ||
| 67 | - ->andFilterWhere(['like', 'h1', $this->h1]) | ||
| 68 | - ->andFilterWhere(['like', 'seo_text', $this->seo_text]); | ||
| 69 | - | ||
| 70 | - return $dataProvider; | ||
| 71 | - } | ||
| 72 | -} | 1 | +<?php |
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use yii\base\Model; | ||
| 7 | +use yii\data\ActiveDataProvider; | ||
| 8 | +use common\models\Page; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * PageSearch represents the model behind the search form about `common\models\Page`. | ||
| 12 | + */ | ||
| 13 | +class PageSearch extends Page | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * @inheritdoc | ||
| 17 | + */ | ||
| 18 | + public function rules() | ||
| 19 | + { | ||
| 20 | + return [ | ||
| 21 | + [['id'], 'integer'], | ||
| 22 | + [['translit', 'title', 'body', 'meta_title', 'meta_keywords', 'meta_description', 'seo_text', 'h1'], 'safe'], | ||
| 23 | + ]; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * @inheritdoc | ||
| 28 | + */ | ||
| 29 | + public function scenarios() | ||
| 30 | + { | ||
| 31 | + // bypass scenarios() implementation in the parent class | ||
| 32 | + return Model::scenarios(); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * Creates data provider instance with search query applied | ||
| 37 | + * | ||
| 38 | + * @param array $params | ||
| 39 | + * | ||
| 40 | + * @return ActiveDataProvider | ||
| 41 | + */ | ||
| 42 | + public function search($params) | ||
| 43 | + { | ||
| 44 | + $query = Page::find(); | ||
| 45 | + | ||
| 46 | + // add conditions that should always apply here | ||
| 47 | + | ||
| 48 | + $dataProvider = new ActiveDataProvider([ | ||
| 49 | + 'query' => $query, | ||
| 50 | + ]); | ||
| 51 | + | ||
| 52 | + $this->load($params); | ||
| 53 | + | ||
| 54 | + if (!$this->validate()) { | ||
| 55 | + // uncomment the following line if you do not want to return any records when validation fails | ||
| 56 | + // $query->where('0=1'); | ||
| 57 | + return $dataProvider; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + // grid filtering conditions | ||
| 61 | + $query->andFilterWhere([ | ||
| 62 | + 'id' => $this->id, | ||
| 63 | + ]); | ||
| 64 | + | ||
| 65 | + $query->andFilterWhere(['like', 'translit', $this->translit]) | ||
| 66 | + ->andFilterWhere(['like', 'title', $this->title]) | ||
| 67 | + ->andFilterWhere(['like', 'body', $this->body]) | ||
| 68 | + ->andFilterWhere(['like', 'meta_title', $this->meta_title]) | ||
| 69 | + ->andFilterWhere(['like', 'meta_keywords', $this->meta_keywords]) | ||
| 70 | + ->andFilterWhere(['like', 'meta_description', $this->meta_description]) | ||
| 71 | + ->andFilterWhere(['like', 'seo_text', $this->seo_text]) | ||
| 72 | + ->andFilterWhere(['like', 'h1', $this->h1]); | ||
| 73 | + | ||
| 74 | + return $dataProvider; | ||
| 75 | + } | ||
| 76 | +} |
common/models/SliderImage.php
| @@ -15,7 +15,6 @@ use Yii; | @@ -15,7 +15,6 @@ use Yii; | ||
| 15 | * @property string $url | 15 | * @property string $url |
| 16 | * @property integer $status | 16 | * @property integer $status |
| 17 | * @property integer $sort | 17 | * @property integer $sort |
| 18 | - * @property double $price | ||
| 19 | * | 18 | * |
| 20 | * @property Slider $slider | 19 | * @property Slider $slider |
| 21 | */ | 20 | */ |
| @@ -36,7 +35,6 @@ class SliderImage extends \yii\db\ActiveRecord | @@ -36,7 +35,6 @@ class SliderImage extends \yii\db\ActiveRecord | ||
| 36 | { | 35 | { |
| 37 | return [ | 36 | return [ |
| 38 | [['slider_id', 'status', 'sort'], 'integer'], | 37 | [['slider_id', 'status', 'sort'], 'integer'], |
| 39 | - [['price'], 'number'], | ||
| 40 | [['image', 'alt', 'title', 'url'], 'string', 'max' => 255], | 38 | [['image', 'alt', 'title', 'url'], 'string', 'max' => 255], |
| 41 | [['slider_id'], 'exist', 'skipOnError' => true, 'targetClass' => Slider::className(), 'targetAttribute' => ['slider_id' => 'slider_id']], | 39 | [['slider_id'], 'exist', 'skipOnError' => true, 'targetClass' => Slider::className(), 'targetAttribute' => ['slider_id' => 'slider_id']], |
| 42 | ]; | 40 | ]; |
| @@ -56,7 +54,6 @@ class SliderImage extends \yii\db\ActiveRecord | @@ -56,7 +54,6 @@ class SliderImage extends \yii\db\ActiveRecord | ||
| 56 | 'url' => Yii::t('app', 'url'), | 54 | 'url' => Yii::t('app', 'url'), |
| 57 | 'status' => Yii::t('app', 'status'), | 55 | 'status' => Yii::t('app', 'status'), |
| 58 | 'sort' => Yii::t('app', 'sort'), | 56 | 'sort' => Yii::t('app', 'sort'), |
| 59 | - 'price' => Yii::t('app', 'price'), | ||
| 60 | ]; | 57 | ]; |
| 61 | } | 58 | } |
| 62 | 59 | ||
| @@ -67,4 +64,13 @@ class SliderImage extends \yii\db\ActiveRecord | @@ -67,4 +64,13 @@ class SliderImage extends \yii\db\ActiveRecord | ||
| 67 | { | 64 | { |
| 68 | return $this->hasOne(Slider::className(), ['slider_id' => 'slider_id']); | 65 | return $this->hasOne(Slider::className(), ['slider_id' => 'slider_id']); |
| 69 | } | 66 | } |
| 67 | + | ||
| 68 | + public function getImageFile() { | ||
| 69 | + return empty($this->image) ? null : '/storage/slider/'. $this->image; | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + public function getImageUrl() { | ||
| 73 | + return empty($this->image) ? null : '/storage/slider/'. $this->image; | ||
| 74 | + } | ||
| 75 | + | ||
| 70 | } | 76 | } |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace common\models; | ||
| 4 | + | ||
| 5 | +use Yii; | ||
| 6 | +use yii\base\Model; | ||
| 7 | +use yii\data\ActiveDataProvider; | ||
| 8 | +use common\models\Subscribe; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * SubscribeSearch represents the model behind the search form about `common\models\Subscribe`. | ||
| 12 | + */ | ||
| 13 | +class SubscribeSearch extends Subscribe | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * @inheritdoc | ||
| 17 | + */ | ||
| 18 | + public function rules() | ||
| 19 | + { | ||
| 20 | + return [ | ||
| 21 | + [['id', 'sale', 'sand'], 'integer'], | ||
| 22 | + [['email'], 'safe'], | ||
| 23 | + ]; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * @inheritdoc | ||
| 28 | + */ | ||
| 29 | + public function scenarios() | ||
| 30 | + { | ||
| 31 | + // bypass scenarios() implementation in the parent class | ||
| 32 | + return Model::scenarios(); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * Creates data provider instance with search query applied | ||
| 37 | + * | ||
| 38 | + * @param array $params | ||
| 39 | + * | ||
| 40 | + * @return ActiveDataProvider | ||
| 41 | + */ | ||
| 42 | + public function search($params) | ||
| 43 | + { | ||
| 44 | + $query = Subscribe::find(); | ||
| 45 | + | ||
| 46 | + // add conditions that should always apply here | ||
| 47 | + | ||
| 48 | + $dataProvider = new ActiveDataProvider([ | ||
| 49 | + 'query' => $query, | ||
| 50 | + ]); | ||
| 51 | + | ||
| 52 | + $this->load($params); | ||
| 53 | + | ||
| 54 | + if (!$this->validate()) { | ||
| 55 | + // uncomment the following line if you do not want to return any records when validation fails | ||
| 56 | + // $query->where('0=1'); | ||
| 57 | + return $dataProvider; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + // grid filtering conditions | ||
| 61 | + $query->andFilterWhere([ | ||
| 62 | + 'id' => $this->id, | ||
| 63 | + 'sale' => $this->sale, | ||
| 64 | + 'sand' => $this->sand, | ||
| 65 | + ]); | ||
| 66 | + | ||
| 67 | + $query->andFilterWhere(['like', 'email', $this->email]); | ||
| 68 | + | ||
| 69 | + return $dataProvider; | ||
| 70 | + } | ||
| 71 | +} |
common/modules/product/controllers/ProductUnitController.php
100644 → 100755
common/modules/product/models/ProductUnitSearch.php
100644 → 100755
common/modules/product/models/ProductVariant.php
| @@ -24,6 +24,17 @@ use Yii; | @@ -24,6 +24,17 @@ use Yii; | ||
| 24 | */ | 24 | */ |
| 25 | class ProductVariant extends \yii\db\ActiveRecord | 25 | class ProductVariant extends \yii\db\ActiveRecord |
| 26 | { | 26 | { |
| 27 | + | ||
| 28 | + /**just for rukzachok**/ | ||
| 29 | + public $count; | ||
| 30 | + public $sum_cost; | ||
| 31 | + public $product_name; | ||
| 32 | + //public $image; | ||
| 33 | + public $translit; | ||
| 34 | + public $translit_rubric; | ||
| 35 | + private $data; | ||
| 36 | + | ||
| 37 | + | ||
| 27 | /** @var array $_images */ | 38 | /** @var array $_images */ |
| 28 | public $imagesUpload = []; | 39 | public $imagesUpload = []; |
| 29 | /** | 40 | /** |
| @@ -128,4 +139,8 @@ class ProductVariant extends \yii\db\ActiveRecord | @@ -128,4 +139,8 @@ class ProductVariant extends \yii\db\ActiveRecord | ||
| 128 | { | 139 | { |
| 129 | return new ProductVariantQuery(get_called_class()); | 140 | return new ProductVariantQuery(get_called_class()); |
| 130 | } | 141 | } |
| 142 | + | ||
| 143 | + public function getId(){ | ||
| 144 | + return $this->product_variant_id; | ||
| 145 | + } | ||
| 131 | } | 146 | } |
common/modules/product/views/product-unit/_form.php
100644 → 100755
common/modules/product/views/product-unit/_search.php
100644 → 100755
common/modules/product/views/product-unit/create.php
100644 → 100755
common/modules/product/views/product-unit/index.php
100644 → 100755
common/modules/product/views/product-unit/update.php
100644 → 100755
common/modules/product/views/product-unit/view.php
100644 → 100755
console/migrations/m160320_174258_customer.php
100644 → 100755
console/migrations/m160321_232402_orders.php renamed to console/migrations/m160321_232402_orders1.php
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Migration; | ||
| 4 | + | ||
| 5 | +class m160509_214535_customer extends Migration | ||
| 6 | +{ | ||
| 7 | + public function up() | ||
| 8 | + { | ||
| 9 | + | ||
| 10 | + $this->createTable('{{%customer}}', [ | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + 'id' => $this->primaryKey(), | ||
| 14 | + 'username' => $this->string()->notNull(), | ||
| 15 | + 'password' => $this->string()->notNull(), | ||
| 16 | + 'name' => $this->string()->notNull(), | ||
| 17 | + 'surname' => $this->string(), | ||
| 18 | + 'phone' => $this->string(), | ||
| 19 | + 'date_time' => $this->date()->defaultExpression('NOW()'), | ||
| 20 | + 'sex' => $this->string(32), | ||
| 21 | + 'birth_day' => $this->integer(), | ||
| 22 | + 'birth_month' => $this->integer(), | ||
| 23 | + 'birth_year' => $this->integer(), | ||
| 24 | + 'body' => $this->text(), | ||
| 25 | + 'group_id' => $this->integer(), | ||
| 26 | + ]); | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + public function down() | ||
| 30 | + { | ||
| 31 | + $this->dropTable('{{%customer}}'); | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + /* | ||
| 35 | + // Use safeUp/safeDown to run migration code within a transaction | ||
| 36 | + public function safeUp() | ||
| 37 | + { | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + public function safeDown() | ||
| 41 | + { | ||
| 42 | + } | ||
| 43 | + */ | ||
| 44 | +} |
console/migrations/m160509_231345_auth_assignment.php
0 → 100755
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Migration; | ||
| 4 | + | ||
| 5 | +class m160509_231345_auth_assignment extends Migration | ||
| 6 | +{ | ||
| 7 | + public function up() | ||
| 8 | + { | ||
| 9 | + $this->createTable('{{%auth_assignment}}', [ | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + 'item_name' => $this->string(), | ||
| 13 | + 'user_id' => $this->integer(), | ||
| 14 | + 'created_at' => $this->integer(), | ||
| 15 | + ]); | ||
| 16 | + } | ||
| 17 | + | ||
| 18 | + public function down() | ||
| 19 | + { | ||
| 20 | + $this->dropTable('{{%auth_assignment}}'); | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + /* | ||
| 24 | + // Use safeUp/safeDown to run migration code within a transaction | ||
| 25 | + public function safeUp() | ||
| 26 | + { | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + public function safeDown() | ||
| 30 | + { | ||
| 31 | + } | ||
| 32 | + */ | ||
| 33 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Migration; | ||
| 4 | + | ||
| 5 | +class m160512_153443_subscribe extends Migration | ||
| 6 | +{ | ||
| 7 | + public function up() | ||
| 8 | + { | ||
| 9 | + $this->createTable('{{%subscribe}}', [ | ||
| 10 | + | ||
| 11 | + | ||
| 12 | + 'id' => $this->primaryKey(), | ||
| 13 | + 'email' => $this->string()->notNull(), | ||
| 14 | + 'sale' => $this->integer()->notNull(), | ||
| 15 | + 'sand' => $this->smallInteger()->notNull()->defaultValue(0), | ||
| 16 | + ]); | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + public function down() | ||
| 20 | + { | ||
| 21 | + $this->dropTable('{{%subscribe}}'); | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | +} |
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Migration; | ||
| 4 | + | ||
| 5 | +class m160516_222821_orders extends Migration | ||
| 6 | +{ | ||
| 7 | + public function up() | ||
| 8 | + { | ||
| 9 | + $tableOptions = null; | ||
| 10 | + if ($this->db->driverName === 'mysql') { | ||
| 11 | + // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci | ||
| 12 | + $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; | ||
| 13 | + } | ||
| 14 | + | ||
| 15 | + | ||
| 16 | + $this->createTable('{{%orders}}', [ | ||
| 17 | + 'id' => $this->primaryKey(), | ||
| 18 | + 'user_id' => $this->integer(), | ||
| 19 | + 'name' => $this->string()->notNull(), | ||
| 20 | + 'surname' => $this->string()->notNull(), | ||
| 21 | + 'patronymic' => $this->string()->notNull(), | ||
| 22 | + 'phone' => $this->string(), | ||
| 23 | + 'phone2' => $this->string(), | ||
| 24 | + 'email' => $this->string(), | ||
| 25 | + 'adress' => $this->string(), | ||
| 26 | + 'body' => $this->text(), | ||
| 27 | + 'total' => $this->float(), | ||
| 28 | + 'date_time' => $this->dateTime(), | ||
| 29 | + 'date_dedline' => $this->date(), | ||
| 30 | + 'reserve' => $this->string(), | ||
| 31 | + 'status' => $this->string(), | ||
| 32 | + 'comment' => $this->text(), | ||
| 33 | + 'label' => $this->integer(), | ||
| 34 | + 'pay' => $this->integer(), | ||
| 35 | + 'numbercard' => $this->integer(), | ||
| 36 | + 'delivery' => $this->string(), | ||
| 37 | + 'declaration' => $this->string(), | ||
| 38 | + 'stock' => $this->string(), | ||
| 39 | + 'consignment' => $this->string(), | ||
| 40 | + 'payment' => $this->string(), | ||
| 41 | + 'insurance' => $this->string(), | ||
| 42 | + 'amount_imposed' => $this->float(), | ||
| 43 | + 'shipping_by' => $this->string(), | ||
| 44 | + 'city' => $this->string(), | ||
| 45 | + ], $tableOptions); | ||
| 46 | + | ||
| 47 | + | ||
| 48 | + $this->createTable('{{%orders_products}}', [ | ||
| 49 | + 'id' => $this->primaryKey(), | ||
| 50 | + 'order_id' => $this->integer(), | ||
| 51 | + 'mod_id' => $this->integer(), | ||
| 52 | + 'product_name' => $this->string(), | ||
| 53 | + 'name' => $this->string(), | ||
| 54 | + 'sku' => $this->string(), | ||
| 55 | + 'price' => $this->float(), | ||
| 56 | + 'count' => $this->integer(), | ||
| 57 | + 'sum_cost' => $this->float(), | ||
| 58 | + ], $tableOptions); | ||
| 59 | + | ||
| 60 | + $this->addForeignKey('orders_products_fk', '{{%orders_products}}', 'order_id', '{{%orders}}', 'id', 'CASCADE', 'CASCADE'); | ||
| 61 | + $this->addForeignKey('orders_products_items_fk', '{{%orders_products}}', 'id', '{{%product}}', 'product_id', 'RESTRICT', 'RESTRICT'); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + public function down() | ||
| 65 | + { | ||
| 66 | + $this->dropForeignKey('orders_products_fk', '{{%orders_products}}'); | ||
| 67 | + $this->dropForeignKey('orders_products_items_fk', '{{%orders_products}}'); | ||
| 68 | + $this->dropTable('{{%orders}}'); | ||
| 69 | + $this->dropTable('{{%orders_products}}'); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | +} | ||
| 0 | \ No newline at end of file | 73 | \ No newline at end of file |
console/migrations/m160516_234753_orders_delivery.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use yii\db\Migration; | ||
| 4 | + | ||
| 5 | +class m160516_234753_orders_delivery extends Migration | ||
| 6 | +{ | ||
| 7 | + public function up() | ||
| 8 | + { | ||
| 9 | + | ||
| 10 | + $this->createTable('{{%orders_delivery}}', [ | ||
| 11 | + 'id' => $this->primaryKey(), | ||
| 12 | + 'parent_id' => $this->integer(), | ||
| 13 | + 'title' => $this->string(), | ||
| 14 | + 'title_ukr' => $this->string(), | ||
| 15 | + 'value' => $this->integer(), | ||
| 16 | + 'text' => $this->text(), | ||
| 17 | + 'text_ukr' => $this->text(), | ||
| 18 | + 'sort' => $this->integer(), | ||
| 19 | + ]); | ||
| 20 | + | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public function down() | ||
| 24 | + { | ||
| 25 | + $this->dropTable('{{%orders_delivery}}'); | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + /* | ||
| 29 | + // Use safeUp/safeDown to run migration code within a transaction | ||
| 30 | + public function safeUp() | ||
| 31 | + { | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public function safeDown() | ||
| 35 | + { | ||
| 36 | + } | ||
| 37 | + */ | ||
| 38 | +} |
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | -namespace app\controllers; | 3 | +namespace frontend\controllers; |
| 4 | 4 | ||
| 5 | + | ||
| 6 | +use common\models\Customer; | ||
| 7 | +use common\models\OrdersProducts; | ||
| 5 | use Yii; | 8 | use Yii; |
| 6 | use yii\web\Controller; | 9 | use yii\web\Controller; |
| 7 | -use app\models\Mod; | ||
| 8 | -use app\models\Order; | ||
| 9 | -use app\models\User; | ||
| 10 | -use app\models\OrdersProducts; | 10 | +use common\modules\product\models\ProductVariant; |
| 11 | +use common\models\Orders; | ||
| 12 | +//use app\models\User; | ||
| 13 | +//use app\models\OrdersProducts; | ||
| 11 | use yii\web\HttpException; | 14 | use yii\web\HttpException; |
| 12 | 15 | ||
| 13 | class BasketController extends Controller | 16 | class BasketController extends Controller |
| 14 | { | 17 | { |
| 15 | 18 | ||
| 16 | public function actionIndex(){ | 19 | public function actionIndex(){ |
| 17 | - $modelMod = new Mod; | ||
| 18 | - $modelOrder = new Order; | 20 | + $modelMod = new ProductVariant; |
| 21 | + $modelOrder = new Orders; | ||
| 19 | 22 | ||
| 20 | if(!empty($_GET['deleteID'])){ | 23 | if(!empty($_GET['deleteID'])){ |
| 21 | - $modelMod->deleteBasketMod($_GET['deleteID']); | 24 | + $modelOrder->deleteBasketMod($_GET['deleteID']); |
| 22 | return Yii::$app->response->redirect(['basket/index']); | 25 | return Yii::$app->response->redirect(['basket/index']); |
| 23 | } | 26 | } |
| 24 | 27 | ||
| 25 | if(isset($_POST['update'])){ | 28 | if(isset($_POST['update'])){ |
| 26 | foreach ($_POST['Mod'] as $index=>$row) { | 29 | foreach ($_POST['Mod'] as $index=>$row) { |
| 27 | - $modelMod->updateBasket($row); | 30 | + $modelOrder->updateBasket($row); |
| 28 | } | 31 | } |
| 29 | }elseif(isset($_POST['Mod'])){ | 32 | }elseif(isset($_POST['Mod'])){ |
| 30 | $body = ''; | 33 | $body = ''; |
| @@ -36,7 +39,7 @@ class BasketController extends Controller | @@ -36,7 +39,7 @@ class BasketController extends Controller | ||
| 36 | 39 | ||
| 37 | if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save() && $modelOrder->contact('borisenko.pavel@gmail.com',$body)) { | 40 | if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save() && $modelOrder->contact('borisenko.pavel@gmail.com',$body)) { |
| 38 | foreach ($_POST['Mod'] as $index=>$row) { | 41 | foreach ($_POST['Mod'] as $index=>$row) { |
| 39 | - $modelOrdersProducts = new OrdersProducts; | 42 | + $modelOrdersProducts = new OrdersProducts(); |
| 40 | $mod_id = $row['id']; | 43 | $mod_id = $row['id']; |
| 41 | unset($row['id']); | 44 | unset($row['id']); |
| 42 | $data['OrdersProducts'] = $row; | 45 | $data['OrdersProducts'] = $row; |
| @@ -47,7 +50,7 @@ class BasketController extends Controller | @@ -47,7 +50,7 @@ class BasketController extends Controller | ||
| 47 | $modelOrdersProducts->save(); | 50 | $modelOrdersProducts->save(); |
| 48 | } | 51 | } |
| 49 | if(!Yii::$app->user->id){ | 52 | if(!Yii::$app->user->id){ |
| 50 | - $modelUser = new User; | 53 | + $modelUser = new Customer(); |
| 51 | $modelUser->role = 'person'; | 54 | $modelUser->role = 'person'; |
| 52 | $modelUser->username = $modelOrder->email; | 55 | $modelUser->username = $modelOrder->email; |
| 53 | $modelUser->name = $modelOrder->name; | 56 | $modelUser->name = $modelOrder->name; |
| @@ -61,10 +64,10 @@ class BasketController extends Controller | @@ -61,10 +64,10 @@ class BasketController extends Controller | ||
| 61 | } | 64 | } |
| 62 | } | 65 | } |
| 63 | 66 | ||
| 64 | - $basket_mods = $modelMod->getBasketMods(); | 67 | + $basket_mods = $modelOrder->getBasketMods(); |
| 65 | 68 | ||
| 66 | if(!empty(Yii::$app->user->id)){ | 69 | if(!empty(Yii::$app->user->id)){ |
| 67 | - $user = User::findOne(Yii::$app->user->id); | 70 | + $user = Customer::findOne(Yii::$app->user->id); |
| 68 | $modelOrder->email = $user->username; | 71 | $modelOrder->email = $user->username; |
| 69 | $modelOrder->phone = $user->phone; | 72 | $modelOrder->phone = $user->phone; |
| 70 | $modelOrder->name = $user->name; | 73 | $modelOrder->name = $user->name; |
| @@ -79,7 +82,7 @@ class BasketController extends Controller | @@ -79,7 +82,7 @@ class BasketController extends Controller | ||
| 79 | } | 82 | } |
| 80 | 83 | ||
| 81 | public function actionItems(){ | 84 | public function actionItems(){ |
| 82 | - $modelMod = new Mod; | 85 | + $modelMod = new Orders; |
| 83 | if(!empty($_GET['deleteID'])){ | 86 | if(!empty($_GET['deleteID'])){ |
| 84 | $modelMod->deleteBasketMod($_GET['deleteID']); | 87 | $modelMod->deleteBasketMod($_GET['deleteID']); |
| 85 | } | 88 | } |
| @@ -98,7 +101,7 @@ class BasketController extends Controller | @@ -98,7 +101,7 @@ class BasketController extends Controller | ||
| 98 | 101 | ||
| 99 | public function actionInfo() | 102 | public function actionInfo() |
| 100 | { | 103 | { |
| 101 | - $modelMod = new Mod; | 104 | + $modelMod = new Orders(); |
| 102 | $info = $modelMod->rowBasket(); | 105 | $info = $modelMod->rowBasket(); |
| 103 | return $this->renderAjax('ajax_info', [ | 106 | return $this->renderAjax('ajax_info', [ |
| 104 | 'info'=>$info, | 107 | 'info'=>$info, |
| @@ -106,9 +109,9 @@ class BasketController extends Controller | @@ -106,9 +109,9 @@ class BasketController extends Controller | ||
| 106 | } | 109 | } |
| 107 | 110 | ||
| 108 | public function actionAdd(){ | 111 | public function actionAdd(){ |
| 109 | - $modelMod = new Mod; | 112 | + $modelOrders = new Orders(); |
| 110 | if(isset($_GET['mod_id'],$_GET['count']) && $_GET['mod_id']>0 && $_GET['count']>0){ | 113 | if(isset($_GET['mod_id'],$_GET['count']) && $_GET['mod_id']>0 && $_GET['count']>0){ |
| 111 | - $modelMod->addBasket($_GET['mod_id'],$_GET['count']); | 114 | + $modelOrders->addBasket($_GET['mod_id'],$_GET['count']); |
| 112 | } | 115 | } |
| 113 | 116 | ||
| 114 | Yii::$app->end(); | 117 | Yii::$app->end(); |
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace frontend\controllers; | ||
| 4 | - | ||
| 5 | -use common\models\Customers; | ||
| 6 | -use common\models\OrderItems; | ||
| 7 | -use common\models\Orders; | ||
| 8 | -use common\modules\product\models\ProductVariant; | ||
| 9 | -use common\widgets\BasketModal; | ||
| 10 | -use Yii; | ||
| 11 | - | ||
| 12 | -use yii\web\Controller; | ||
| 13 | -use yii\web\NotFoundHttpException; | ||
| 14 | -use yii\data\ArrayDataProvider; | ||
| 15 | -/** | ||
| 16 | - * OrderController implements the CRUD actions for Order model. | ||
| 17 | - */ | ||
| 18 | -class OrdersController extends Controller | ||
| 19 | -{ | ||
| 20 | - | ||
| 21 | - | ||
| 22 | - /** | ||
| 23 | - * @inheritdoc | ||
| 24 | - */ | ||
| 25 | - public function beforeAction($action) | ||
| 26 | - { | ||
| 27 | - if ($action->id == 'buy-items' || $action->id == 'delete') { | ||
| 28 | - Yii::$app->controller->enableCsrfValidation = false; | ||
| 29 | - } | ||
| 30 | - | ||
| 31 | - return true; | ||
| 32 | - } | ||
| 33 | - | ||
| 34 | - public function actionFirst(){ | ||
| 35 | - | ||
| 36 | - $array = Yii::$app->session->get('order'); | ||
| 37 | - | ||
| 38 | - if(isset($array['order_id']) ) { | ||
| 39 | - $model = Orders::findOne($array['order_id']); | ||
| 40 | - }else { | ||
| 41 | - $model = new Orders(); | ||
| 42 | - } | ||
| 43 | - | ||
| 44 | - | ||
| 45 | - if(Yii::$app->request->post() && $model->load(Yii::$app->request->post())){ | ||
| 46 | - | ||
| 47 | - if($model->save()){ | ||
| 48 | - | ||
| 49 | - $array['order_id'] = $model->order_id; | ||
| 50 | - | ||
| 51 | - Yii::$app->session->set('order', $array ); | ||
| 52 | - | ||
| 53 | - return $this->redirect(['orders/second']); | ||
| 54 | - } | ||
| 55 | - | ||
| 56 | - } else { | ||
| 57 | - if (!Yii::$app->user->isGuest) { | ||
| 58 | - $customer = Yii::$app->user->identity; | ||
| 59 | - $model->name = $customer->name; | ||
| 60 | - $model->email = $customer->email; | ||
| 61 | - $model->phone = $customer->phone; | ||
| 62 | - } | ||
| 63 | - } | ||
| 64 | - | ||
| 65 | - | ||
| 66 | - return $this->render('basket-step-01',[ | ||
| 67 | - 'model' => $model | ||
| 68 | - ]); | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - public function actionSecond(){ | ||
| 72 | - | ||
| 73 | - $sessionData = \Yii::$app->session->get('order'); | ||
| 74 | - | ||
| 75 | - $order_id = $sessionData['order_id']; | ||
| 76 | - | ||
| 77 | - if(!empty($order_id)){ | ||
| 78 | - $order_model = Orders::findOne($order_id); | ||
| 79 | - } else{ | ||
| 80 | - $order_model = new Orders; | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - unset($sessionData['order_id']); | ||
| 84 | - | ||
| 85 | - $variant = ProductVariant::find()->where(['product_variant_id'=>array_keys($sessionData)])->indexBy('product_variant_id')->all(); | ||
| 86 | - | ||
| 87 | - | ||
| 88 | - if(Yii::$app->request->post()){ | ||
| 89 | - | ||
| 90 | - foreach ($sessionData as $k => $item) { | ||
| 91 | - $itemModel = OrderItems::find()->where(['order_id'=>$order_id, 'item_id'=> $variant[$k]->product_variant_id])->one(); | ||
| 92 | - if($itemModel instanceof OrderItems){ | ||
| 93 | - $itemModel->order_id = $order_id; | ||
| 94 | - $itemModel->item_id = $variant[$k]->product_variant_id; | ||
| 95 | - $itemModel->item_count = $sessionData[$k]['num']; | ||
| 96 | - $itemModel->price = $variant[$k]->price; | ||
| 97 | - $itemModel->save(); | ||
| 98 | - } else { | ||
| 99 | - $itemModel = new OrderItems(); | ||
| 100 | - $itemModel->order_id = $order_id; | ||
| 101 | - $itemModel->item_id = $variant[$k]->product_variant_id; | ||
| 102 | - $itemModel->item_count = $sessionData[$k]['num']; | ||
| 103 | - $itemModel->price = $variant[$k]->price; | ||
| 104 | - $itemModel->save(); | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - } | ||
| 108 | - Yii::$app->session->set('order', [] ); | ||
| 109 | - return $this->redirect(['orders/third']); | ||
| 110 | - | ||
| 111 | - } else { | ||
| 112 | - | ||
| 113 | - $price = 0; | ||
| 114 | - | ||
| 115 | - $count = count($sessionData); | ||
| 116 | - | ||
| 117 | - foreach ($sessionData as $k => $item) { | ||
| 118 | - $sessionData[$k]['item'] = $variant[$k]; | ||
| 119 | - $price += $variant[$k]->price * $sessionData[$k]['num']; | ||
| 120 | - } | ||
| 121 | - | ||
| 122 | - } | ||
| 123 | - | ||
| 124 | - return $this->render('basket-step-02',[ | ||
| 125 | - 'items'=>$sessionData, | ||
| 126 | - 'count' => $count, | ||
| 127 | - 'price' => $price, | ||
| 128 | - 'order_id' => $order_id, | ||
| 129 | - 'order_model' => $order_model, | ||
| 130 | - ]); | ||
| 131 | - | ||
| 132 | - } | ||
| 133 | - | ||
| 134 | - public function actionThird(){ | ||
| 135 | - return $this->render('basket-step-03'); | ||
| 136 | - } | ||
| 137 | - | ||
| 138 | - | ||
| 139 | -// /** | ||
| 140 | -// * Lists all Order models. | ||
| 141 | -// * @return mixed | ||
| 142 | -// */ | ||
| 143 | -// public function actionIndex() | ||
| 144 | -// { | ||
| 145 | -// | ||
| 146 | -// if (Yii::$app->request->post()) { | ||
| 147 | -// $item = $items_id = array(); | ||
| 148 | -// | ||
| 149 | -// $i = 0; | ||
| 150 | -// $order = Yii::$app->request->post(); | ||
| 151 | -// | ||
| 152 | -// $orderData['Order'] = $order['OrderForm']; | ||
| 153 | -// | ||
| 154 | -// foreach($order['OrderForm']['one_item'] as $k => $v ){ | ||
| 155 | -// $item[$k]['num'] = $v['num']; | ||
| 156 | -// $items_id[] = $k; | ||
| 157 | -// $i++; | ||
| 158 | -// } | ||
| 159 | -// | ||
| 160 | -// $items = Items::find()->where(['id'=>$items_id])->all(); | ||
| 161 | -// | ||
| 162 | -// | ||
| 163 | -// $orderModel = new Order(); | ||
| 164 | -// $orderModel->load($orderData); | ||
| 165 | -// $orderModel->save(); | ||
| 166 | -// | ||
| 167 | -// | ||
| 168 | -// foreach($items as $one_item){ | ||
| 169 | -// $ItemOrderModel = new ItemOrder(); | ||
| 170 | -// $ItemOrderModel->order_id = $orderModel->id; | ||
| 171 | -// $ItemOrderModel->num = $item[$one_item->id]['num']; | ||
| 172 | -// $ItemOrderModel->item_id = $one_item->id; | ||
| 173 | -// $ItemOrderModel->price = $one_item->price * $item[$one_item->id]['num']; | ||
| 174 | -// $ItemOrderModel->item_name = $one_item->name; | ||
| 175 | -// $ItemOrderModel->save(); | ||
| 176 | -// } | ||
| 177 | -// Yii::$app->session->set('order', [] ); | ||
| 178 | -// return $this->redirect(['order/complete']); | ||
| 179 | -// } | ||
| 180 | -// $total_price = 0; | ||
| 181 | -// | ||
| 182 | -// $items_id = []; | ||
| 183 | -// | ||
| 184 | -// $orders = Yii::$app->session->get('order'); | ||
| 185 | -// | ||
| 186 | -// if(!empty($orders)){ | ||
| 187 | -// foreach($orders as $k => $v) { | ||
| 188 | -// $items_id[] = $k; | ||
| 189 | -// } | ||
| 190 | -// } | ||
| 191 | -// | ||
| 192 | -// | ||
| 193 | -// $items = Items::find()->where(['id'=>$items_id])->all(); | ||
| 194 | -// | ||
| 195 | -// foreach($items as $item) { | ||
| 196 | -// $total_price += $orders[$item['id']]['num'] * $item['price']; | ||
| 197 | -// } | ||
| 198 | -// | ||
| 199 | -// | ||
| 200 | -// $dataProvider = new ArrayDataProvider([ | ||
| 201 | -// 'allModels' => $items | ||
| 202 | -// ]); | ||
| 203 | -// | ||
| 204 | -// return $this->render('index', [ | ||
| 205 | -// 'dataProvider' => $dataProvider, | ||
| 206 | -// 'total_price'=> $total_price, | ||
| 207 | -// 'model' => new OrderForm() | ||
| 208 | -// ]); | ||
| 209 | -// } | ||
| 210 | - | ||
| 211 | - | ||
| 212 | - public function actionComplete() | ||
| 213 | - { | ||
| 214 | - return $this->render('complete', [ | ||
| 215 | - ]); | ||
| 216 | - } | ||
| 217 | - | ||
| 218 | - public function actionBuyItems(){ | ||
| 219 | - $data = Yii::$app->request->post(); | ||
| 220 | - $sessionData = Yii::$app->session->get('order'); | ||
| 221 | - if(isset($sessionData) && !array_search($data['id'],Yii::$app->session->get('order')) ){ | ||
| 222 | - $array = Yii::$app->session->get('order'); | ||
| 223 | - $array[$data['id']] = $data; | ||
| 224 | - Yii::$app->session->set('order', $array ); | ||
| 225 | - } else { | ||
| 226 | - $array[$data['id']] = $data; | ||
| 227 | - Yii::$app->session->set('order', $array ); | ||
| 228 | - } | ||
| 229 | - echo BasketModal::widget([]); | ||
| 230 | - | ||
| 231 | - } | ||
| 232 | - /** | ||
| 233 | - * Displays a single Order model. | ||
| 234 | - * @param integer $id | ||
| 235 | - * @return mixed | ||
| 236 | - */ | ||
| 237 | - public function actionView($id) | ||
| 238 | - { | ||
| 239 | - return $this->render('view', [ | ||
| 240 | - 'model' => $this->findModel($id), | ||
| 241 | - ]); | ||
| 242 | - } | ||
| 243 | - | ||
| 244 | - /** | ||
| 245 | - * Creates a new Order model. | ||
| 246 | - * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 247 | - * @return mixed | ||
| 248 | - */ | ||
| 249 | - public function actionCreate() | ||
| 250 | - { | ||
| 251 | - $model = new Order(); | ||
| 252 | - | ||
| 253 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 254 | - return $this->redirect(['view', 'id' => $model->id]); | ||
| 255 | - } else { | ||
| 256 | - return $this->render('create', [ | ||
| 257 | - 'model' => $model, | ||
| 258 | - ]); | ||
| 259 | - } | ||
| 260 | - } | ||
| 261 | - | ||
| 262 | - /** | ||
| 263 | - * Updates an existing Order model. | ||
| 264 | - * If update is successful, the browser will be redirected to the 'view' page. | ||
| 265 | - * @param integer $id | ||
| 266 | - * @return mixed | ||
| 267 | - */ | ||
| 268 | - public function actionUpdate($id) | ||
| 269 | - { | ||
| 270 | - $model = $this->findModel($id); | ||
| 271 | - | ||
| 272 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 273 | - return $this->redirect(['view', 'id' => $model->id]); | ||
| 274 | - } else { | ||
| 275 | - return $this->render('update', [ | ||
| 276 | - 'model' => $model, | ||
| 277 | - ]); | ||
| 278 | - } | ||
| 279 | - } | ||
| 280 | - | ||
| 281 | - /** | ||
| 282 | - * Deletes an existing Order model. | ||
| 283 | - * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 284 | - * @param integer $id | ||
| 285 | - * @return mixed | ||
| 286 | - */ | ||
| 287 | - public function actionDelete() | ||
| 288 | - { | ||
| 289 | - $data = Yii::$app->request->post(); | ||
| 290 | - $sessionData = Yii::$app->session->get('order'); | ||
| 291 | - unset($sessionData[$data['id']]); | ||
| 292 | - Yii::$app->session->set('order', $sessionData); | ||
| 293 | - return count(Yii::$app->session->get('order')); | ||
| 294 | - } | ||
| 295 | - | ||
| 296 | - /** | ||
| 297 | - * Finds the Order model based on its primary key value. | ||
| 298 | - * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 299 | - * @param integer $id | ||
| 300 | - * @return Order the loaded model | ||
| 301 | - * @throws NotFoundHttpException if the model cannot be found | ||
| 302 | - */ | ||
| 303 | - protected function findModel($id) | ||
| 304 | - { | ||
| 305 | - if (($model = Order::findOne($id)) !== null) { | ||
| 306 | - return $model; | ||
| 307 | - } else { | ||
| 308 | - throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 309 | - } | ||
| 310 | - } | ||
| 311 | -} | 1 | +<?php |
| 2 | + | ||
| 3 | +namespace frontend\controllers; | ||
| 4 | + | ||
| 5 | +use common\models\Customer; | ||
| 6 | +use common\models\OrderItems; | ||
| 7 | +use common\models\Orders; | ||
| 8 | +use common\modules\product\models\ProductVariant; | ||
| 9 | +use common\widgets\BasketModal; | ||
| 10 | +use Yii; | ||
| 11 | + | ||
| 12 | +use yii\web\Controller; | ||
| 13 | +use yii\web\NotFoundHttpException; | ||
| 14 | +use yii\data\ArrayDataProvider; | ||
| 15 | +/** | ||
| 16 | + * OrderController implements the CRUD actions for Order model. | ||
| 17 | + */ | ||
| 18 | +class OrdersController extends Controller | ||
| 19 | +{ | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * @inheritdoc | ||
| 24 | + */ | ||
| 25 | + public function beforeAction($action) | ||
| 26 | + { | ||
| 27 | + if ($action->id == 'buy-items' || $action->id == 'delete') { | ||
| 28 | + Yii::$app->controller->enableCsrfValidation = false; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + return true; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public function actionFirst(){ | ||
| 35 | + | ||
| 36 | + $array = Yii::$app->session->get('order'); | ||
| 37 | + | ||
| 38 | + if(isset($array['order_id']) ) { | ||
| 39 | + $model = Orders::findOne($array['order_id']); | ||
| 40 | + }else { | ||
| 41 | + $model = new Orders(); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + if(Yii::$app->request->post() && $model->load(Yii::$app->request->post())){ | ||
| 46 | + | ||
| 47 | + if($model->save()){ | ||
| 48 | + | ||
| 49 | + $array['order_id'] = $model->order_id; | ||
| 50 | + | ||
| 51 | + Yii::$app->session->set('order', $array ); | ||
| 52 | + | ||
| 53 | + return $this->redirect(['orders/second']); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + } else { | ||
| 57 | + if (!Yii::$app->user->isGuest) { | ||
| 58 | + $customer = Yii::$app->user->identity; | ||
| 59 | + $model->name = $customer->name; | ||
| 60 | + $model->email = $customer->email; | ||
| 61 | + $model->phone = $customer->phone; | ||
| 62 | + } | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + | ||
| 66 | + return $this->render('basket-step-01',[ | ||
| 67 | + 'model' => $model | ||
| 68 | + ]); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + public function actionSecond(){ | ||
| 72 | + | ||
| 73 | + $sessionData = \Yii::$app->session->get('order'); | ||
| 74 | + | ||
| 75 | + $order_id = $sessionData['order_id']; | ||
| 76 | + | ||
| 77 | + if(!empty($order_id)){ | ||
| 78 | + $order_model = Orders::findOne($order_id); | ||
| 79 | + } else{ | ||
| 80 | + $order_model = new Orders; | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + unset($sessionData['order_id']); | ||
| 84 | + | ||
| 85 | + $variant = ProductVariant::find()->where(['product_variant_id'=>array_keys($sessionData)])->indexBy('product_variant_id')->all(); | ||
| 86 | + | ||
| 87 | + | ||
| 88 | + if(Yii::$app->request->post()){ | ||
| 89 | + | ||
| 90 | + foreach ($sessionData as $k => $item) { | ||
| 91 | + $itemModel = OrderItems::find()->where(['order_id'=>$order_id, 'item_id'=> $variant[$k]->product_variant_id])->one(); | ||
| 92 | + if($itemModel instanceof OrderItems){ | ||
| 93 | + $itemModel->order_id = $order_id; | ||
| 94 | + $itemModel->item_id = $variant[$k]->product_variant_id; | ||
| 95 | + $itemModel->item_count = $sessionData[$k]['num']; | ||
| 96 | + $itemModel->price = $variant[$k]->price; | ||
| 97 | + $itemModel->save(); | ||
| 98 | + } else { | ||
| 99 | + $itemModel = new OrderItems(); | ||
| 100 | + $itemModel->order_id = $order_id; | ||
| 101 | + $itemModel->item_id = $variant[$k]->product_variant_id; | ||
| 102 | + $itemModel->item_count = $sessionData[$k]['num']; | ||
| 103 | + $itemModel->price = $variant[$k]->price; | ||
| 104 | + $itemModel->save(); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + } | ||
| 108 | + Yii::$app->session->set('order', [] ); | ||
| 109 | + return $this->redirect(['orders/third']); | ||
| 110 | + | ||
| 111 | + } else { | ||
| 112 | + | ||
| 113 | + $price = 0; | ||
| 114 | + | ||
| 115 | + $count = count($sessionData); | ||
| 116 | + | ||
| 117 | + foreach ($sessionData as $k => $item) { | ||
| 118 | + $sessionData[$k]['item'] = $variant[$k]; | ||
| 119 | + $price += $variant[$k]->price * $sessionData[$k]['num']; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + return $this->render('basket-step-02',[ | ||
| 125 | + 'items'=>$sessionData, | ||
| 126 | + 'count' => $count, | ||
| 127 | + 'price' => $price, | ||
| 128 | + 'order_id' => $order_id, | ||
| 129 | + 'order_model' => $order_model, | ||
| 130 | + ]); | ||
| 131 | + | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + public function actionThird(){ | ||
| 135 | + return $this->render('basket-step-03'); | ||
| 136 | + } | ||
| 137 | + | ||
| 138 | + | ||
| 139 | +// /** | ||
| 140 | +// * Lists all Order models. | ||
| 141 | +// * @return mixed | ||
| 142 | +// */ | ||
| 143 | +// public function actionIndex() | ||
| 144 | +// { | ||
| 145 | +// | ||
| 146 | +// if (Yii::$app->request->post()) { | ||
| 147 | +// $item = $items_id = array(); | ||
| 148 | +// | ||
| 149 | +// $i = 0; | ||
| 150 | +// $order = Yii::$app->request->post(); | ||
| 151 | +// | ||
| 152 | +// $orderData['Order'] = $order['OrderForm']; | ||
| 153 | +// | ||
| 154 | +// foreach($order['OrderForm']['one_item'] as $k => $v ){ | ||
| 155 | +// $item[$k]['num'] = $v['num']; | ||
| 156 | +// $items_id[] = $k; | ||
| 157 | +// $i++; | ||
| 158 | +// } | ||
| 159 | +// | ||
| 160 | +// $items = Items::find()->where(['id'=>$items_id])->all(); | ||
| 161 | +// | ||
| 162 | +// | ||
| 163 | +// $orderModel = new Order(); | ||
| 164 | +// $orderModel->load($orderData); | ||
| 165 | +// $orderModel->save(); | ||
| 166 | +// | ||
| 167 | +// | ||
| 168 | +// foreach($items as $one_item){ | ||
| 169 | +// $ItemOrderModel = new ItemOrder(); | ||
| 170 | +// $ItemOrderModel->order_id = $orderModel->id; | ||
| 171 | +// $ItemOrderModel->num = $item[$one_item->id]['num']; | ||
| 172 | +// $ItemOrderModel->item_id = $one_item->id; | ||
| 173 | +// $ItemOrderModel->price = $one_item->price * $item[$one_item->id]['num']; | ||
| 174 | +// $ItemOrderModel->item_name = $one_item->name; | ||
| 175 | +// $ItemOrderModel->save(); | ||
| 176 | +// } | ||
| 177 | +// Yii::$app->session->set('order', [] ); | ||
| 178 | +// return $this->redirect(['order/complete']); | ||
| 179 | +// } | ||
| 180 | +// $total_price = 0; | ||
| 181 | +// | ||
| 182 | +// $items_id = []; | ||
| 183 | +// | ||
| 184 | +// $orders = Yii::$app->session->get('order'); | ||
| 185 | +// | ||
| 186 | +// if(!empty($orders)){ | ||
| 187 | +// foreach($orders as $k => $v) { | ||
| 188 | +// $items_id[] = $k; | ||
| 189 | +// } | ||
| 190 | +// } | ||
| 191 | +// | ||
| 192 | +// | ||
| 193 | +// $items = Items::find()->where(['id'=>$items_id])->all(); | ||
| 194 | +// | ||
| 195 | +// foreach($items as $item) { | ||
| 196 | +// $total_price += $orders[$item['id']]['num'] * $item['price']; | ||
| 197 | +// } | ||
| 198 | +// | ||
| 199 | +// | ||
| 200 | +// $dataProvider = new ArrayDataProvider([ | ||
| 201 | +// 'allModels' => $items | ||
| 202 | +// ]); | ||
| 203 | +// | ||
| 204 | +// return $this->render('index', [ | ||
| 205 | +// 'dataProvider' => $dataProvider, | ||
| 206 | +// 'total_price'=> $total_price, | ||
| 207 | +// 'model' => new OrderForm() | ||
| 208 | +// ]); | ||
| 209 | +// } | ||
| 210 | + | ||
| 211 | + | ||
| 212 | + public function actionComplete() | ||
| 213 | + { | ||
| 214 | + return $this->render('complete', [ | ||
| 215 | + ]); | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | + public function actionBuyItems(){ | ||
| 219 | + $data = Yii::$app->request->post(); | ||
| 220 | + $sessionData = Yii::$app->session->get('order'); | ||
| 221 | + if(isset($sessionData) && !array_search($data['id'],Yii::$app->session->get('order')) ){ | ||
| 222 | + $array = Yii::$app->session->get('order'); | ||
| 223 | + $array[$data['id']] = $data; | ||
| 224 | + Yii::$app->session->set('order', $array ); | ||
| 225 | + } else { | ||
| 226 | + $array[$data['id']] = $data; | ||
| 227 | + Yii::$app->session->set('order', $array ); | ||
| 228 | + } | ||
| 229 | + echo BasketModal::widget([]); | ||
| 230 | + | ||
| 231 | + } | ||
| 232 | + /** | ||
| 233 | + * Displays a single Order model. | ||
| 234 | + * @param integer $id | ||
| 235 | + * @return mixed | ||
| 236 | + */ | ||
| 237 | + public function actionView($id) | ||
| 238 | + { | ||
| 239 | + return $this->render('view', [ | ||
| 240 | + 'model' => $this->findModel($id), | ||
| 241 | + ]); | ||
| 242 | + } | ||
| 243 | + | ||
| 244 | + /** | ||
| 245 | + * Creates a new Order model. | ||
| 246 | + * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 247 | + * @return mixed | ||
| 248 | + */ | ||
| 249 | + public function actionCreate() | ||
| 250 | + { | ||
| 251 | + $model = new Orders(); | ||
| 252 | + | ||
| 253 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 254 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 255 | + } else { | ||
| 256 | + return $this->render('create', [ | ||
| 257 | + 'model' => $model, | ||
| 258 | + ]); | ||
| 259 | + } | ||
| 260 | + } | ||
| 261 | + | ||
| 262 | + /** | ||
| 263 | + * Updates an existing Order model. | ||
| 264 | + * If update is successful, the browser will be redirected to the 'view' page. | ||
| 265 | + * @param integer $id | ||
| 266 | + * @return mixed | ||
| 267 | + */ | ||
| 268 | + public function actionUpdate($id) | ||
| 269 | + { | ||
| 270 | + $model = $this->findModel($id); | ||
| 271 | + | ||
| 272 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 273 | + return $this->redirect(['view', 'id' => $model->id]); | ||
| 274 | + } else { | ||
| 275 | + return $this->render('update', [ | ||
| 276 | + 'model' => $model, | ||
| 277 | + ]); | ||
| 278 | + } | ||
| 279 | + } | ||
| 280 | + | ||
| 281 | + /** | ||
| 282 | + * Deletes an existing Order model. | ||
| 283 | + * If deletion is successful, the browser will be redirected to the 'index' page. | ||
| 284 | + * @param integer $id | ||
| 285 | + * @return mixed | ||
| 286 | + */ | ||
| 287 | + public function actionDelete() | ||
| 288 | + { | ||
| 289 | + $data = Yii::$app->request->post(); | ||
| 290 | + $sessionData = Yii::$app->session->get('order'); | ||
| 291 | + unset($sessionData[$data['id']]); | ||
| 292 | + Yii::$app->session->set('order', $sessionData); | ||
| 293 | + return count(Yii::$app->session->get('order')); | ||
| 294 | + } | ||
| 295 | + | ||
| 296 | + /** | ||
| 297 | + * Finds the Order model based on its primary key value. | ||
| 298 | + * If the model is not found, a 404 HTTP exception will be thrown. | ||
| 299 | + * @param integer $id | ||
| 300 | + * @return Orders the loaded model | ||
| 301 | + * @throws NotFoundHttpException if the model cannot be found | ||
| 302 | + */ | ||
| 303 | + protected function findModel($id) | ||
| 304 | + { | ||
| 305 | + if (($model = Orders::findOne($id)) !== null) { | ||
| 306 | + return $model; | ||
| 307 | + } else { | ||
| 308 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 309 | + } | ||
| 310 | + } | ||
| 311 | +} |
frontend/controllers/SubscribeController.php
| @@ -7,6 +7,8 @@ use yii\web\Controller; | @@ -7,6 +7,8 @@ use yii\web\Controller; | ||
| 7 | use common\models\Subscribe; | 7 | use common\models\Subscribe; |
| 8 | use yii\web\HttpException; | 8 | use yii\web\HttpException; |
| 9 | use yii\data\Pagination; | 9 | use yii\data\Pagination; |
| 10 | +use yii\web\Response; | ||
| 11 | +use yii\widgets\ActiveForm; | ||
| 10 | 12 | ||
| 11 | class SubscribeController extends Controller | 13 | class SubscribeController extends Controller |
| 12 | { | 14 | { |
| @@ -14,12 +16,18 @@ class SubscribeController extends Controller | @@ -14,12 +16,18 @@ class SubscribeController extends Controller | ||
| 14 | public function actionIndex() | 16 | public function actionIndex() |
| 15 | { | 17 | { |
| 16 | $model = new Subscribe; | 18 | $model = new Subscribe; |
| 19 | + if (Yii::$app->request->isAjax) { | ||
| 20 | + Yii::$app->response->format = Response::FORMAT_JSON; | ||
| 21 | + $model->load(Yii::$app->request->post()); | ||
| 22 | + return ActiveForm::validate($model); | ||
| 23 | + } else { | ||
| 24 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 25 | + | ||
| 26 | + Yii::$app->getSession()->setFlash('success', 'Вы успешно подписались на рассылку!'); | ||
| 27 | + return $this->refresh(); | ||
| 28 | + } | ||
| 29 | + } | ||
| 17 | 30 | ||
| 18 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | ||
| 19 | - | ||
| 20 | - Yii::$app->getSession()->setFlash('success', 'Вы успешно подписались на рассылку!'); | ||
| 21 | - return $this->refresh(); | ||
| 22 | - } | ||
| 23 | return $this->render('index',['model'=>$model]); | 31 | return $this->render('index',['model'=>$model]); |
| 24 | } | 32 | } |
| 25 | 33 |
frontend/views/basket/ajax_items.php
| @@ -3,16 +3,16 @@ use yii\widgets\ActiveForm; | @@ -3,16 +3,16 @@ use yii\widgets\ActiveForm; | ||
| 3 | use yii\helpers\Html; | 3 | use yii\helpers\Html; |
| 4 | ?> | 4 | ?> |
| 5 | <?php $form = ActiveForm::begin(['enableClientScript' => false,'id'=>'basket_form2']); ?> | 5 | <?php $form = ActiveForm::begin(['enableClientScript' => false,'id'=>'basket_form2']); ?> |
| 6 | -<?foreach($basket_mods as $i=>$item):?> | 6 | +<?php foreach($basket_mods as $i=>$item):?> |
| 7 | <div class="basket_item"> | 7 | <div class="basket_item"> |
| 8 | <?php echo $form->field($item,'['.$i.']id')->hiddenInput()->label(false); ?> | 8 | <?php echo $form->field($item,'['.$i.']id')->hiddenInput()->label(false); ?> |
| 9 | <div style="display: table-cell;vertical-align: middle;"><a href="#" data-id="<?=$item->id?>" class="delete_button" style="margin-right:20px;"></a></div> | 9 | <div style="display: table-cell;vertical-align: middle;"><a href="#" data-id="<?=$item->id?>" class="delete_button" style="margin-right:20px;"></a></div> |
| 10 | - <div style="width:100px;height:100px;display: table-cell;vertical-align: middle; border:1px solid #d2d2d2;text-align:center;margin-left:10px;margin-right:10px;"><img src="<?=Yii::$app->request->baseUrl.'/upload/products/ico/'.$item->image?>" style="margin:0;" width="100"></div> | 10 | + <div style="width:100px;height:100px;display: table-cell;vertical-align: middle; border:1px solid #d2d2d2;text-align:center;margin-left:10px;margin-right:10px;"><img src="<?=Yii::$app->request->baseUrl.'/upload/products/ico/'.$item->image->image?>" style="margin:0;" width="100"></div> |
| 11 | <div style="display: table-cell;vertical-align: middle; font-size:15px;width:210px; font-weight:normal;padding-left:15px;"> | 11 | <div style="display: table-cell;vertical-align: middle; font-size:15px;width:210px; font-weight:normal;padding-left:15px;"> |
| 12 | <div><?=$item->product_name?></div> | 12 | <div><?=$item->product_name?></div> |
| 13 | <div style="text-transform:none; margin-top:20px; font-weight:bold;"> | 13 | <div style="text-transform:none; margin-top:20px; font-weight:bold;"> |
| 14 | - <?if($item->old_cost>0):?><div style="text-decoration:line-through;font-size:13px;"><?=$item->old_cost?> грн.</div><?endif;?> | ||
| 15 | - <div style="font-size:15px;color:#f75d50;"><?=$item->cost?> грн.</div> | 14 | + <?php if($item->price_old>0):?><div style="text-decoration:line-through;font-size:13px;"><?=$item->price_old?> грн.</div><?php endif;?> |
| 15 | + <div style="font-size:15px;color:#f75d50;"><?=$item->price?> грн.</div> | ||
| 16 | </div> | 16 | </div> |
| 17 | </div> | 17 | </div> |
| 18 | <div style="display: table-cell;vertical-align: middle;"> | 18 | <div style="display: table-cell;vertical-align: middle;"> |
| @@ -21,7 +21,7 @@ use yii\helpers\Html; | @@ -21,7 +21,7 @@ use yii\helpers\Html; | ||
| 21 | <div style="display: table-cell;vertical-align: middle; font-size:16px;color:#f75d50; font-weight:bold; padding-left:54px;"><?=$item->sum_cost?> грн.</div> | 21 | <div style="display: table-cell;vertical-align: middle; font-size:16px;color:#f75d50; font-weight:bold; padding-left:54px;"><?=$item->sum_cost?> грн.</div> |
| 22 | <div style="clear:both;"></div> | 22 | <div style="clear:both;"></div> |
| 23 | </div> | 23 | </div> |
| 24 | -<?endforeach;?> | 24 | +<?php endforeach;?> |
| 25 | 25 | ||
| 26 | <div class="basket_sum"> | 26 | <div class="basket_sum"> |
| 27 | <div class="sum_text" style="float:left;">Всего: <span><?=$modelMod->getSumCost()?> грн.</span></div> | 27 | <div class="sum_text" style="float:left;">Всего: <span><?=$modelMod->getSumCost()?> грн.</span></div> |
frontend/views/basket/index.php
| @@ -5,7 +5,7 @@ use yii\web\View; | @@ -5,7 +5,7 @@ use yii\web\View; | ||
| 5 | use yii\helpers\ArrayHelper; | 5 | use yii\helpers\ArrayHelper; |
| 6 | use yii\widgets\Breadcrumbs; | 6 | use yii\widgets\Breadcrumbs; |
| 7 | use yii\bootstrap\ActiveForm; | 7 | use yii\bootstrap\ActiveForm; |
| 8 | -use app\models\Delivery; | 8 | +use common\models\Delivery; |
| 9 | 9 | ||
| 10 | $this->title = 'Корзина'; | 10 | $this->title = 'Корзина'; |
| 11 | $this->registerMetaTag(['name' => 'description', 'content' => 'Корзина']); | 11 | $this->registerMetaTag(['name' => 'description', 'content' => 'Корзина']); |
| @@ -57,14 +57,14 @@ $('#order-delivery input[type=\"radio\"]').click(function(){ | @@ -57,14 +57,14 @@ $('#order-delivery input[type=\"radio\"]').click(function(){ | ||
| 57 | ?> | 57 | ?> |
| 58 | <div class="both"></div> | 58 | <div class="both"></div> |
| 59 | 59 | ||
| 60 | -<?foreach(Delivery::find()->where(['parent_id'=>0])->all() as $item):?> | 60 | +<?php foreach(Delivery::find()->where(['parent_id'=>0])->all() as $item):?> |
| 61 | <div class='delivery-data' id='delivery-data-<?=$item->id?>'> | 61 | <div class='delivery-data' id='delivery-data-<?=$item->id?>'> |
| 62 | <?=$item->text?> | 62 | <?=$item->text?> |
| 63 | <?= $form->field($modelOrder, 'delivery') | 63 | <?= $form->field($modelOrder, 'delivery') |
| 64 | ->radioList(ArrayHelper::map(Delivery::find()->where(['parent_id'=>$item->id])->asArray()->all(), 'id', 'title'),['id' => 'order-delivery-childs'])->label(false) | 64 | ->radioList(ArrayHelper::map(Delivery::find()->where(['parent_id'=>$item->id])->asArray()->all(), 'id', 'title'),['id' => 'order-delivery-childs'])->label(false) |
| 65 | ?> | 65 | ?> |
| 66 | </div> | 66 | </div> |
| 67 | -<?endforeach;?> | 67 | +<?php endforeach;?> |
| 68 | 68 | ||
| 69 | <?php echo $form->field($modelOrder, 'payment')->radioList(['Оплатить наличными'=>'Оплатить наличными','Оплатить на карту Приват Банка'=>'Оплатить на карту Приват Банка','Оплатить по безналичному расчету'=>'Оплатить по безналичному расчету','Оплатить Правекс-телеграф'=>'Оплатить Правекс-телеграф','Наложенным платежом'=>'Наложенным платежом']); ?> | 69 | <?php echo $form->field($modelOrder, 'payment')->radioList(['Оплатить наличными'=>'Оплатить наличными','Оплатить на карту Приват Банка'=>'Оплатить на карту Приват Банка','Оплатить по безналичному расчету'=>'Оплатить по безналичному расчету','Оплатить Правекс-телеграф'=>'Оплатить Правекс-телеграф','Наложенным платежом'=>'Наложенным платежом']); ?> |
| 70 | <div class="both"></div> | 70 | <div class="both"></div> |
| @@ -77,32 +77,32 @@ $('#order-delivery input[type=\"radio\"]').click(function(){ | @@ -77,32 +77,32 @@ $('#order-delivery input[type=\"radio\"]').click(function(){ | ||
| 77 | <div class="content"> | 77 | <div class="content"> |
| 78 | 78 | ||
| 79 | 79 | ||
| 80 | -<?foreach($basket_mods as $i=>$item):?> | 80 | +<?php foreach($basket_mods as $i=>$item):?> |
| 81 | <div class="basket_item"> | 81 | <div class="basket_item"> |
| 82 | - <a href="<?=Url::to(['products/show','translit_rubric'=>$item->translit_rubric,'translit'=>$item->translit,'id'=>$item->product_id])?>"><img src="<?=Yii::$app->request->baseUrl.'/upload/products/ico/'.$item->image?>" border="0" width="90" height="120" align="left" /></a> | 82 | + <a href="<?=Url::to(['products/show','translit_rubric'=>$item->translit_rubric,'translit'=>$item->translit,'id'=>$item->product_id])?>"><img src="<?=Yii::$app->request->baseUrl.'/upload/products/ico/'.$item->image->image?>" border="0" width="90" height="120" align="left" /></a> |
| 83 | <div class="info"> | 83 | <div class="info"> |
| 84 | <a href="<?=Url::to(['products/show','translit_rubric'=>$item->translit_rubric,'translit'=>$item->translit,'id'=>$item->product_id])?>" class="link2"><?=$item->product_name?></a> | 84 | <a href="<?=Url::to(['products/show','translit_rubric'=>$item->translit_rubric,'translit'=>$item->translit,'id'=>$item->product_id])?>" class="link2"><?=$item->product_name?></a> |
| 85 | - <p>Код: <?=$item->art?>, цвет: <?=$item->color?></p> | 85 | + <p>Код: <?=$item->sku?>, цвет: <?=$item->name?></p> |
| 86 | <?php echo $form->field($item,'['.$i.']id')->hiddenInput()->label(false); ?> | 86 | <?php echo $form->field($item,'['.$i.']id')->hiddenInput()->label(false); ?> |
| 87 | <?php echo $form->field($item,'['.$i.']product_name')->hiddenInput()->label(false); ?> | 87 | <?php echo $form->field($item,'['.$i.']product_name')->hiddenInput()->label(false); ?> |
| 88 | - <?php echo $form->field($item,'['.$i.']art')->hiddenInput()->label(false); ?> | 88 | + <?php echo $form->field($item,'['.$i.']sku')->hiddenInput()->label(false); ?> |
| 89 | <?php echo $form->field($item,'['.$i.']name')->hiddenInput()->label(false); ?> | 89 | <?php echo $form->field($item,'['.$i.']name')->hiddenInput()->label(false); ?> |
| 90 | - <?php echo $form->field($item,'['.$i.']cost')->hiddenInput()->label(false); ?> | 90 | + <?php echo $form->field($item,'['.$i.']price')->hiddenInput()->label(false); ?> |
| 91 | <?php echo $form->field($item,'['.$i.']sum_cost')->hiddenInput()->label(false); ?> | 91 | <?php echo $form->field($item,'['.$i.']sum_cost')->hiddenInput()->label(false); ?> |
| 92 | <div class="count"> | 92 | <div class="count"> |
| 93 | - <div class="fr txtf"><span style="color:silver">цена за один <?=$item->cost?> грн,</span> цена <?=$item->sum_cost?> грн</div> | 93 | + <div class="fr txtf"><span style="color:silver">цена за один <?=$item->price?> грн,</span> цена <?=$item->sum_cost?> грн</div> |
| 94 | <label for="count" class="txtf">Количество</label> <?php echo $form->field($item,'['.$i.']count')->textInput(['type'=>'number'])->label(false); ?><div class="both"></div> | 94 | <label for="count" class="txtf">Количество</label> <?php echo $form->field($item,'['.$i.']count')->textInput(['type'=>'number'])->label(false); ?><div class="both"></div> |
| 95 | </div> | 95 | </div> |
| 96 | <a href="<?=Url::to(['basket/index','deleteID'=>$item->id]);?>" class="del">Удалить</a> | 96 | <a href="<?=Url::to(['basket/index','deleteID'=>$item->id]);?>" class="del">Удалить</a> |
| 97 | </div><div class="both"></div> | 97 | </div><div class="both"></div> |
| 98 | </div> | 98 | </div> |
| 99 | -<?endforeach;?> | 99 | +<?php endforeach;?> |
| 100 | 100 | ||
| 101 | <?php echo Html::submitButton(' Пересчитать ',array('name'=>"update",'class'=>'submit4 fl')); ?> | 101 | <?php echo Html::submitButton(' Пересчитать ',array('name'=>"update",'class'=>'submit4 fl')); ?> |
| 102 | 102 | ||
| 103 | <div class="total"> | 103 | <div class="total"> |
| 104 | - <?= $form->field($modelOrder, 'total')->hiddenInput(['value'=>$modelMod->getSumCost()])->label(false); ?> | ||
| 105 | - Общая сумма: <?=$modelMod->getSumCost();?> грн. | 104 | + <?= $form->field($modelOrder, 'total')->hiddenInput(['value'=>$modelOrder->getSumCost()])->label(false); ?> |
| 105 | + Общая сумма: <?=$modelOrder->getSumCost();?> грн. | ||
| 106 | </div> | 106 | </div> |
| 107 | <div class="both"></div> | 107 | <div class="both"></div> |
| 108 | 108 |
frontend/views/layouts/main.php
| 1 | <?php | 1 | <?php |
| 2 | + | ||
| 2 | use yii\helpers\Html; | 3 | use yii\helpers\Html; |
| 3 | use yii\helpers\Url; | 4 | use yii\helpers\Url; |
| 4 | use frontend\assets\AppAsset; | 5 | use frontend\assets\AppAsset; |
| @@ -103,12 +104,12 @@ | @@ -103,12 +104,12 @@ | ||
| 103 | </form> | 104 | </form> |
| 104 | </div> | 105 | </div> |
| 105 | <div class="fr"> | 106 | <div class="fr"> |
| 106 | - <? if (Yii::$app->user->isGuest): ?> | 107 | + <?php if (Yii::$app->user->isGuest): ?> |
| 107 | <a href="<?= Url::to (['login/index']) ?>" id='login'><span>Личный кабинет</span></a> | 108 | <a href="<?= Url::to (['login/index']) ?>" id='login'><span>Личный кабинет</span></a> |
| 108 | - <? else: ?> | 109 | + <?php else: ?> |
| 109 | <a href="<?= Url::to (['iam/index']) ?>"><?= Text::getShort (Yii::$app->user->identity->username, 20) ?></a> | 110 | <a href="<?= Url::to (['iam/index']) ?>"><?= Text::getShort (Yii::$app->user->identity->username, 20) ?></a> |
| 110 | <a href="<?= Url::to (['login/logout']) ?>" class='logout'>Выход</a> | 111 | <a href="<?= Url::to (['login/logout']) ?>" class='logout'>Выход</a> |
| 111 | - <? endif; ?> | 112 | + <?php endif; ?> |
| 112 | </div> | 113 | </div> |
| 113 | <div class="both"></div> | 114 | <div class="both"></div> |
| 114 | </div> | 115 | </div> |
| @@ -155,10 +156,10 @@ | @@ -155,10 +156,10 @@ | ||
| 155 | 156 | ||
| 156 | <div class="menu"> | 157 | <div class="menu"> |
| 157 | <ul> | 158 | <ul> |
| 158 | - <? foreach (Category::find ()->all () as $category): ?> | 159 | + <?php foreach (Category::find ()->all () as $category): ?> |
| 159 | <li><a href="<?= \yii\helpers\Url::to(['catalog/category', 'category' => $category])?>"><?= $category->name ?></a> | 160 | <li><a href="<?= \yii\helpers\Url::to(['catalog/category', 'category' => $category])?>"><?= $category->name ?></a> |
| 160 | </li> | 161 | </li> |
| 161 | - <? endforeach; ?> | 162 | + <?php endforeach; ?> |
| 162 | </ul> | 163 | </ul> |
| 163 | 164 | ||
| 164 | <div class="fr"> | 165 | <div class="fr"> |
| @@ -169,19 +170,6 @@ | @@ -169,19 +170,6 @@ | ||
| 169 | </div> | 170 | </div> |
| 170 | <div class="both"></div> | 171 | <div class="both"></div> |
| 171 | </div> | 172 | </div> |
| 172 | - <? /** | ||
| 173 | - * <div class="menu_childs"> | ||
| 174 | - * <ul> | ||
| 175 | - * <? | ||
| 176 | - * $items = Catalog::find(); | ||
| 177 | - * if($row->parent_id>0)$items->where(['parent_id'=>$row->parent_id]); | ||
| 178 | - * else $items->where(['parent_id'=>$row->id]); | ||
| 179 | - * foreach($items->orderBy('sort')->all() as $key=>$item):?> | ||
| 180 | - * <li><a href="<?=Url::to(['products/index','translit'=>$item->translit])?>"><?=$item->name?></a></li> | ||
| 181 | - * <?endforeach;?> | ||
| 182 | - * </ul><div class="both"></div> | ||
| 183 | - * </div> | ||
| 184 | - **/ ?> | ||
| 185 | 173 | ||
| 186 | <?= $content ?> | 174 | <?= $content ?> |
| 187 | 175 | ||
| @@ -336,8 +324,8 @@ | @@ -336,8 +324,8 @@ | ||
| 336 | $subscribe = new Subscribe; | 324 | $subscribe = new Subscribe; |
| 337 | $form = ActiveForm::begin (['action' => '/subscribe']); | 325 | $form = ActiveForm::begin (['action' => '/subscribe']); |
| 338 | ?> | 326 | ?> |
| 339 | - <?php echo $form->field ($subscribe, 'email')->textInput (['placeholder' => 'E-mail'])->label (false); ?> | ||
| 340 | - <?= $form->field ($subscribe, 'sale')->dropDownList (['10' => '10%', '20' => '20%'], ['prompt' => 'Скидка'])->label (false); ?> | 327 | + <?php echo $form->field ($subscribe, 'email')->textInput (['placeholder' => 'E-mail', 'enableAjaxValidation' => true])->label (false); ?> |
| 328 | + <?= $form->field ($subscribe, 'sale')->dropDownList (['10' => '10%', '20' => '20%'], ['prompt' => 'Скидка', 'enableAjaxValidation' => true])->label (false); ?> | ||
| 341 | <div class="saletxt">укажите желаемый размер скидки</div> | 329 | <div class="saletxt">укажите желаемый размер скидки</div> |
| 342 | <?php echo Html::submitButton (' Подписаться ', ['class' => 'submit4m']); ?> | 330 | <?php echo Html::submitButton (' Подписаться ', ['class' => 'submit4m']); ?> |
| 343 | <?php ActiveForm::end (); ?> | 331 | <?php ActiveForm::end (); ?> |
| @@ -364,7 +352,7 @@ | @@ -364,7 +352,7 @@ | ||
| 364 | 352 | ||
| 365 | <div class="fotter"> | 353 | <div class="fotter"> |
| 366 | <div class="wrap"> | 354 | <div class="wrap"> |
| 367 | - <div class="fl">© 2015 Rukzachok. Все права защищены.</div> | 355 | + <div class="fl">© <?= date('Y')?> Rukzachok. Все права защищены.</div> |
| 368 | <div class="fr"><a href="http://artweb.ua" target="_blank">Создание сайтов</a> <img | 356 | <div class="fr"><a href="http://artweb.ua" target="_blank">Создание сайтов</a> <img |
| 369 | src="<?= Yii::$app->request->baseUrl ?>/img/artweb.png" width="58" height="17" alt="ArtWeb Studio"/> | 357 | src="<?= Yii::$app->request->baseUrl ?>/img/artweb.png" width="58" height="17" alt="ArtWeb Studio"/> |
| 370 | </div> | 358 | </div> |
frontend/views/modal/forgot_password_form_model_window.php
100644 → 100755
frontend/views/modal/login_window_model_window.php
100644 → 100755
frontend/views/modal/registration_window_model_window.php
100644 → 100755
frontend/views/news/index.php
| 1 | -<? | ||
| 2 | -use yii\helpers\Url; | 1 | +<?phpuse yii\helpers\Url; |
| 3 | use yii\widgets\Breadcrumbs; | 2 | use yii\widgets\Breadcrumbs; |
| 4 | use app\models\News; | 3 | use app\models\News; |
| 5 | use yii\widgets\LinkPager; | 4 | use yii\widgets\LinkPager; |
| 6 | use app\components\Text; | 5 | use app\components\Text; |
| 7 | ?> | 6 | ?> |
| 8 | -<? | ||
| 9 | -$this->title = 'Новости'; | 7 | +<?php$this->title = 'Новости'; |
| 10 | $this->registerMetaTag(['name' => 'description', 'content' => 'Новости']); | 8 | $this->registerMetaTag(['name' => 'description', 'content' => 'Новости']); |
| 11 | $this->registerMetaTag(['name' => 'keywords', 'content' => 'Новости']); | 9 | $this->registerMetaTag(['name' => 'keywords', 'content' => 'Новости']); |
| 12 | ?> | 10 | ?> |
frontend/views/news/show.php
| 1 | -<? | ||
| 2 | -use yii\helpers\Url; | 1 | +<?phpuse yii\helpers\Url; |
| 3 | use yii\widgets\Breadcrumbs; | 2 | use yii\widgets\Breadcrumbs; |
| 4 | use app\models\News; | 3 | use app\models\News; |
| 5 | ?> | 4 | ?> |
| 6 | -<? | ||
| 7 | -$this->title = $news->meta_title; | 5 | +<?php$this->title = $news->meta_title; |
| 8 | $this->registerMetaTag(['name' => 'description', 'content' => $news->meta_description]); | 6 | $this->registerMetaTag(['name' => 'description', 'content' => $news->meta_description]); |
| 9 | $this->registerMetaTag(['name' => 'keywords', 'content' => $news->meta_keywords]); | 7 | $this->registerMetaTag(['name' => 'keywords', 'content' => $news->meta_keywords]); |
| 10 | ?> | 8 | ?> |