Commit 90a6ed1a30bf8dd26b371bdee8721395779b1f9e
1 parent
2f93d129
basket
Showing
119 changed files
with
3210 additions
and
1018 deletions
Show diff stats
backend/config/main.php
| ... | ... | @@ -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 | 57 | 'errorHandler' => [ |
| 47 | 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 | 9 | use yii\web\Controller; |
| 10 | 10 | use yii\web\NotFoundHttpException; |
| 11 | 11 | use yii\filters\VerbFilter; |
| 12 | - | |
| 12 | +use yii\web\UploadedFile; | |
| 13 | 13 | /** |
| 14 | 14 | * SliderImageController implements the CRUD actions for SliderImage model. |
| 15 | 15 | */ |
| ... | ... | @@ -73,7 +73,12 @@ class SliderImageController extends Controller |
| 73 | 73 | |
| 74 | 74 | if ($model->load(Yii::$app->request->post())) { |
| 75 | 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 | 82 | return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]); |
| 78 | 83 | } else { |
| 79 | 84 | |
| ... | ... | @@ -98,7 +103,14 @@ class SliderImageController extends Controller |
| 98 | 103 | { |
| 99 | 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 | 114 | return $this->redirect(['view', 'slider_id'=>$slider_id, 'id' => $model->slider_image_id]); |
| 103 | 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 | 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 | 59 | ['label' => 'Акции', 'url' => ['/event/index']], |
| 59 | - ['label' => 'Услуги', 'url' => ['/service/index']], | |
| 60 | 60 | [ |
| 61 | 61 | 'label' => 'SEO', |
| 62 | 62 | 'template'=>'<a href="{url}"> <i class="glyphicon glyphicon-search"></i> <span>{label}</span></a>', |
| ... | ... | @@ -65,8 +65,11 @@ use yii\widgets\Menu; |
| 65 | 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 | 14 | |
| 15 | 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 | 32 | <?= $form->field($model, 'alt')->textInput(['maxlength' => true]) ?> |
| 33 | 33 | |
| 34 | 34 | <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> |
| 35 | 35 | |
| 36 | 36 | <?= $form->field($model, 'url')->textInput(['maxlength' => true]) ?> |
| 37 | 37 | |
| 38 | - <?= $form->field($model, 'price')->textInput(['maxlength' => true]) ?> | |
| 39 | - | |
| 40 | 38 | <?= $form->field($model, 'status')->widget(Select2::className(),([ |
| 41 | 39 | 'name' => 'status', |
| 42 | 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 | 2 | |
| 3 | 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 | 22 | class Articles extends \yii\db\ActiveRecord |
| 6 | 23 | { |
| 24 | + /** | |
| 25 | + * @inheritdoc | |
| 26 | + */ | |
| 7 | 27 | public static function tableName() |
| 8 | 28 | { |
| 9 | 29 | return 'articles'; |
| 10 | 30 | } |
| 11 | - | |
| 12 | - | |
| 13 | - | |
| 14 | -} | |
| 15 | 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 | 1 | <?php |
| 2 | - | |
| 3 | 2 | namespace common\models; |
| 4 | 3 | |
| 5 | 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 | 8 | class Orders extends \yii\db\ActiveRecord |
| 25 | 9 | { |
| 26 | 10 | |
| 27 | - | |
| 28 | - /** | |
| 29 | - * @inheritdoc | |
| 30 | - */ | |
| 31 | 11 | public static function tableName() |
| 32 | 12 | { |
| 33 | 13 | return 'orders'; |
| 34 | 14 | } |
| 35 | 15 | |
| 36 | - | |
| 37 | - /** | |
| 38 | - * @inheritdoc | |
| 39 | - */ | |
| 40 | 16 | public function rules() |
| 41 | 17 | { |
| 42 | 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 | 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 | 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 | 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 | 39 | \ No newline at end of file | ... | ... |
common/models/Page.php
| ... | ... | @@ -5,17 +5,17 @@ namespace common\models; |
| 5 | 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 | 10 | * @property integer $id |
| 11 | - * @property string $name | |
| 12 | 11 | * @property string $translit |
| 13 | 12 | * @property string $title |
| 14 | 13 | * @property string $body |
| 15 | 14 | * @property string $meta_title |
| 16 | - * @property string $description | |
| 17 | - * @property string $h1 | |
| 15 | + * @property string $meta_keywords | |
| 16 | + * @property string $meta_description | |
| 18 | 17 | * @property string $seo_text |
| 18 | + * @property string $h1 | |
| 19 | 19 | */ |
| 20 | 20 | class Page extends \yii\db\ActiveRecord |
| 21 | 21 | { |
| ... | ... | @@ -24,56 +24,53 @@ class Page extends \yii\db\ActiveRecord |
| 24 | 24 | */ |
| 25 | 25 | public static function tableName() |
| 26 | 26 | { |
| 27 | - return '{{page}}'; | |
| 27 | + return 'page'; | |
| 28 | 28 | } |
| 29 | - | |
| 30 | 29 | /** |
| 31 | 30 | * @inheritdoc |
| 32 | 31 | */ |
| 33 | - public function rules() | |
| 32 | + public function behaviors() | |
| 34 | 33 | { |
| 35 | 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 | 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 | 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 | 53 | public function getPageTranslit($page){ |
| 74 | 54 | return self::find() |
| 75 | - ->where(['alias' => $page]) | |
| 55 | + ->where(['translit' => $page]) | |
| 76 | 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 | 15 | * @property string $url |
| 16 | 16 | * @property integer $status |
| 17 | 17 | * @property integer $sort |
| 18 | - * @property double $price | |
| 19 | 18 | * |
| 20 | 19 | * @property Slider $slider |
| 21 | 20 | */ |
| ... | ... | @@ -36,7 +35,6 @@ class SliderImage extends \yii\db\ActiveRecord |
| 36 | 35 | { |
| 37 | 36 | return [ |
| 38 | 37 | [['slider_id', 'status', 'sort'], 'integer'], |
| 39 | - [['price'], 'number'], | |
| 40 | 38 | [['image', 'alt', 'title', 'url'], 'string', 'max' => 255], |
| 41 | 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 | 54 | 'url' => Yii::t('app', 'url'), |
| 57 | 55 | 'status' => Yii::t('app', 'status'), |
| 58 | 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 | 64 | { |
| 68 | 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 | 24 | */ |
| 25 | 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 | 38 | /** @var array $_images */ |
| 28 | 39 | public $imagesUpload = []; |
| 29 | 40 | /** |
| ... | ... | @@ -128,4 +139,8 @@ class ProductVariant extends \yii\db\ActiveRecord |
| 128 | 139 | { |
| 129 | 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 | 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 | 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 | 8 | use Yii; |
| 6 | 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 | 14 | use yii\web\HttpException; |
| 12 | 15 | |
| 13 | 16 | class BasketController extends Controller |
| 14 | 17 | { |
| 15 | 18 | |
| 16 | 19 | public function actionIndex(){ |
| 17 | - $modelMod = new Mod; | |
| 18 | - $modelOrder = new Order; | |
| 20 | + $modelMod = new ProductVariant; | |
| 21 | + $modelOrder = new Orders; | |
| 19 | 22 | |
| 20 | 23 | if(!empty($_GET['deleteID'])){ |
| 21 | - $modelMod->deleteBasketMod($_GET['deleteID']); | |
| 24 | + $modelOrder->deleteBasketMod($_GET['deleteID']); | |
| 22 | 25 | return Yii::$app->response->redirect(['basket/index']); |
| 23 | 26 | } |
| 24 | 27 | |
| 25 | 28 | if(isset($_POST['update'])){ |
| 26 | 29 | foreach ($_POST['Mod'] as $index=>$row) { |
| 27 | - $modelMod->updateBasket($row); | |
| 30 | + $modelOrder->updateBasket($row); | |
| 28 | 31 | } |
| 29 | 32 | }elseif(isset($_POST['Mod'])){ |
| 30 | 33 | $body = ''; |
| ... | ... | @@ -36,7 +39,7 @@ class BasketController extends Controller |
| 36 | 39 | |
| 37 | 40 | if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save() && $modelOrder->contact('borisenko.pavel@gmail.com',$body)) { |
| 38 | 41 | foreach ($_POST['Mod'] as $index=>$row) { |
| 39 | - $modelOrdersProducts = new OrdersProducts; | |
| 42 | + $modelOrdersProducts = new OrdersProducts(); | |
| 40 | 43 | $mod_id = $row['id']; |
| 41 | 44 | unset($row['id']); |
| 42 | 45 | $data['OrdersProducts'] = $row; |
| ... | ... | @@ -47,7 +50,7 @@ class BasketController extends Controller |
| 47 | 50 | $modelOrdersProducts->save(); |
| 48 | 51 | } |
| 49 | 52 | if(!Yii::$app->user->id){ |
| 50 | - $modelUser = new User; | |
| 53 | + $modelUser = new Customer(); | |
| 51 | 54 | $modelUser->role = 'person'; |
| 52 | 55 | $modelUser->username = $modelOrder->email; |
| 53 | 56 | $modelUser->name = $modelOrder->name; |
| ... | ... | @@ -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 | 69 | if(!empty(Yii::$app->user->id)){ |
| 67 | - $user = User::findOne(Yii::$app->user->id); | |
| 70 | + $user = Customer::findOne(Yii::$app->user->id); | |
| 68 | 71 | $modelOrder->email = $user->username; |
| 69 | 72 | $modelOrder->phone = $user->phone; |
| 70 | 73 | $modelOrder->name = $user->name; |
| ... | ... | @@ -79,7 +82,7 @@ class BasketController extends Controller |
| 79 | 82 | } |
| 80 | 83 | |
| 81 | 84 | public function actionItems(){ |
| 82 | - $modelMod = new Mod; | |
| 85 | + $modelMod = new Orders; | |
| 83 | 86 | if(!empty($_GET['deleteID'])){ |
| 84 | 87 | $modelMod->deleteBasketMod($_GET['deleteID']); |
| 85 | 88 | } |
| ... | ... | @@ -98,7 +101,7 @@ class BasketController extends Controller |
| 98 | 101 | |
| 99 | 102 | public function actionInfo() |
| 100 | 103 | { |
| 101 | - $modelMod = new Mod; | |
| 104 | + $modelMod = new Orders(); | |
| 102 | 105 | $info = $modelMod->rowBasket(); |
| 103 | 106 | return $this->renderAjax('ajax_info', [ |
| 104 | 107 | 'info'=>$info, |
| ... | ... | @@ -106,9 +109,9 @@ class BasketController extends Controller |
| 106 | 109 | } |
| 107 | 110 | |
| 108 | 111 | public function actionAdd(){ |
| 109 | - $modelMod = new Mod; | |
| 112 | + $modelOrders = new Orders(); | |
| 110 | 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 | 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 | 7 | use common\models\Subscribe; |
| 8 | 8 | use yii\web\HttpException; |
| 9 | 9 | use yii\data\Pagination; |
| 10 | +use yii\web\Response; | |
| 11 | +use yii\widgets\ActiveForm; | |
| 10 | 12 | |
| 11 | 13 | class SubscribeController extends Controller |
| 12 | 14 | { |
| ... | ... | @@ -14,12 +16,18 @@ class SubscribeController extends Controller |
| 14 | 16 | public function actionIndex() |
| 15 | 17 | { |
| 16 | 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 | 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 | 3 | use yii\helpers\Html; |
| 4 | 4 | ?> |
| 5 | 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 | 7 | <div class="basket_item"> |
| 8 | 8 | <?php echo $form->field($item,'['.$i.']id')->hiddenInput()->label(false); ?> |
| 9 | 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 | 11 | <div style="display: table-cell;vertical-align: middle; font-size:15px;width:210px; font-weight:normal;padding-left:15px;"> |
| 12 | 12 | <div><?=$item->product_name?></div> |
| 13 | 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 | 16 | </div> |
| 17 | 17 | </div> |
| 18 | 18 | <div style="display: table-cell;vertical-align: middle;"> |
| ... | ... | @@ -21,7 +21,7 @@ use yii\helpers\Html; |
| 21 | 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 | 22 | <div style="clear:both;"></div> |
| 23 | 23 | </div> |
| 24 | -<?endforeach;?> | |
| 24 | +<?php endforeach;?> | |
| 25 | 25 | |
| 26 | 26 | <div class="basket_sum"> |
| 27 | 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 | 5 | use yii\helpers\ArrayHelper; |
| 6 | 6 | use yii\widgets\Breadcrumbs; |
| 7 | 7 | use yii\bootstrap\ActiveForm; |
| 8 | -use app\models\Delivery; | |
| 8 | +use common\models\Delivery; | |
| 9 | 9 | |
| 10 | 10 | $this->title = 'Корзина'; |
| 11 | 11 | $this->registerMetaTag(['name' => 'description', 'content' => 'Корзина']); |
| ... | ... | @@ -57,14 +57,14 @@ $('#order-delivery input[type=\"radio\"]').click(function(){ |
| 57 | 57 | ?> |
| 58 | 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 | 61 | <div class='delivery-data' id='delivery-data-<?=$item->id?>'> |
| 62 | 62 | <?=$item->text?> |
| 63 | 63 | <?= $form->field($modelOrder, 'delivery') |
| 64 | 64 | ->radioList(ArrayHelper::map(Delivery::find()->where(['parent_id'=>$item->id])->asArray()->all(), 'id', 'title'),['id' => 'order-delivery-childs'])->label(false) |
| 65 | 65 | ?> |
| 66 | 66 | </div> |
| 67 | -<?endforeach;?> | |
| 67 | +<?php endforeach;?> | |
| 68 | 68 | |
| 69 | 69 | <?php echo $form->field($modelOrder, 'payment')->radioList(['Оплатить наличными'=>'Оплатить наличными','Оплатить на карту Приват Банка'=>'Оплатить на карту Приват Банка','Оплатить по безналичному расчету'=>'Оплатить по безналичному расчету','Оплатить Правекс-телеграф'=>'Оплатить Правекс-телеграф','Наложенным платежом'=>'Наложенным платежом']); ?> |
| 70 | 70 | <div class="both"></div> |
| ... | ... | @@ -77,32 +77,32 @@ $('#order-delivery input[type=\"radio\"]').click(function(){ |
| 77 | 77 | <div class="content"> |
| 78 | 78 | |
| 79 | 79 | |
| 80 | -<?foreach($basket_mods as $i=>$item):?> | |
| 80 | +<?php foreach($basket_mods as $i=>$item):?> | |
| 81 | 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 | 83 | <div class="info"> |
| 84 | 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 | 86 | <?php echo $form->field($item,'['.$i.']id')->hiddenInput()->label(false); ?> |
| 87 | 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 | 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 | 91 | <?php echo $form->field($item,'['.$i.']sum_cost')->hiddenInput()->label(false); ?> |
| 92 | 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 | 94 | <label for="count" class="txtf">Количество</label> <?php echo $form->field($item,'['.$i.']count')->textInput(['type'=>'number'])->label(false); ?><div class="both"></div> |
| 95 | 95 | </div> |
| 96 | 96 | <a href="<?=Url::to(['basket/index','deleteID'=>$item->id]);?>" class="del">Удалить</a> |
| 97 | 97 | </div><div class="both"></div> |
| 98 | 98 | </div> |
| 99 | -<?endforeach;?> | |
| 99 | +<?php endforeach;?> | |
| 100 | 100 | |
| 101 | 101 | <?php echo Html::submitButton(' Пересчитать ',array('name'=>"update",'class'=>'submit4 fl')); ?> |
| 102 | 102 | |
| 103 | 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 | 106 | </div> |
| 107 | 107 | <div class="both"></div> |
| 108 | 108 | ... | ... |
frontend/views/layouts/main.php
| 1 | 1 | <?php |
| 2 | + | |
| 2 | 3 | use yii\helpers\Html; |
| 3 | 4 | use yii\helpers\Url; |
| 4 | 5 | use frontend\assets\AppAsset; |
| ... | ... | @@ -103,12 +104,12 @@ |
| 103 | 104 | </form> |
| 104 | 105 | </div> |
| 105 | 106 | <div class="fr"> |
| 106 | - <? if (Yii::$app->user->isGuest): ?> | |
| 107 | + <?php if (Yii::$app->user->isGuest): ?> | |
| 107 | 108 | <a href="<?= Url::to (['login/index']) ?>" id='login'><span>Личный кабинет</span></a> |
| 108 | - <? else: ?> | |
| 109 | + <?php else: ?> | |
| 109 | 110 | <a href="<?= Url::to (['iam/index']) ?>"><?= Text::getShort (Yii::$app->user->identity->username, 20) ?></a> |
| 110 | 111 | <a href="<?= Url::to (['login/logout']) ?>" class='logout'>Выход</a> |
| 111 | - <? endif; ?> | |
| 112 | + <?php endif; ?> | |
| 112 | 113 | </div> |
| 113 | 114 | <div class="both"></div> |
| 114 | 115 | </div> |
| ... | ... | @@ -155,10 +156,10 @@ |
| 155 | 156 | |
| 156 | 157 | <div class="menu"> |
| 157 | 158 | <ul> |
| 158 | - <? foreach (Category::find ()->all () as $category): ?> | |
| 159 | + <?php foreach (Category::find ()->all () as $category): ?> | |
| 159 | 160 | <li><a href="<?= \yii\helpers\Url::to(['catalog/category', 'category' => $category])?>"><?= $category->name ?></a> |
| 160 | 161 | </li> |
| 161 | - <? endforeach; ?> | |
| 162 | + <?php endforeach; ?> | |
| 162 | 163 | </ul> |
| 163 | 164 | |
| 164 | 165 | <div class="fr"> |
| ... | ... | @@ -169,19 +170,6 @@ |
| 169 | 170 | </div> |
| 170 | 171 | <div class="both"></div> |
| 171 | 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 | 174 | <?= $content ?> |
| 187 | 175 | |
| ... | ... | @@ -336,8 +324,8 @@ |
| 336 | 324 | $subscribe = new Subscribe; |
| 337 | 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 | 329 | <div class="saletxt">укажите желаемый размер скидки</div> |
| 342 | 330 | <?php echo Html::submitButton (' Подписаться ', ['class' => 'submit4m']); ?> |
| 343 | 331 | <?php ActiveForm::end (); ?> |
| ... | ... | @@ -364,7 +352,7 @@ |
| 364 | 352 | |
| 365 | 353 | <div class="fotter"> |
| 366 | 354 | <div class="wrap"> |
| 367 | - <div class="fl">© 2015 Rukzachok. Все права защищены.</div> | |
| 355 | + <div class="fl">© <?= date('Y')?> Rukzachok. Все права защищены.</div> | |
| 368 | 356 | <div class="fr"><a href="http://artweb.ua" target="_blank">Создание сайтов</a> <img |
| 369 | 357 | src="<?= Yii::$app->request->baseUrl ?>/img/artweb.png" width="58" height="17" alt="ArtWeb Studio"/> |
| 370 | 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 | 2 | use yii\widgets\Breadcrumbs; |
| 4 | 3 | use app\models\News; |
| 5 | 4 | use yii\widgets\LinkPager; |
| 6 | 5 | use app\components\Text; |
| 7 | 6 | ?> |
| 8 | -<? | |
| 9 | -$this->title = 'Новости'; | |
| 7 | +<?php$this->title = 'Новости'; | |
| 10 | 8 | $this->registerMetaTag(['name' => 'description', 'content' => 'Новости']); |
| 11 | 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 | 2 | use yii\widgets\Breadcrumbs; |
| 4 | 3 | use app\models\News; |
| 5 | 4 | ?> |
| 6 | -<? | |
| 7 | -$this->title = $news->meta_title; | |
| 5 | +<?php$this->title = $news->meta_title; | |
| 8 | 6 | $this->registerMetaTag(['name' => 'description', 'content' => $news->meta_description]); |
| 9 | 7 | $this->registerMetaTag(['name' => 'keywords', 'content' => $news->meta_keywords]); |
| 10 | 8 | ?> | ... | ... |
frontend/views/site/_index.php
frontend/views/site/requestPasswordResetToken.php
100644 → 100755
frontend/views/subscribe/index.php
| 1 | -<? | |
| 1 | +<?php | |
| 2 | +use common\widgets\Alert; | |
| 2 | 3 | use yii\widgets\Breadcrumbs; |
| 3 | 4 | use yii\web\View; |
| 4 | 5 | use yii\helpers\Url; |
| ... | ... | @@ -26,9 +27,7 @@ $this->registerMetaTag(['name' => 'keywords', 'content' => 'Подписка']); |
| 26 | 27 | |
| 27 | 28 | <div class="content"> |
| 28 | 29 | <h1>Подписаться на акции</h1> |
| 29 | -<?if($flash = Yii::$app->session->getFlash('success')):?> | |
| 30 | - <div class="alert-success"><?=$flash?></div> | |
| 31 | -<?endif; ?> | |
| 30 | + <?= Alert::widget(); ?> | |
| 32 | 31 | |
| 33 | 32 | <?php $form = ActiveForm::begin(); ?> |
| 34 | 33 | <?= $form->errorSummary($model); ?> | ... | ... |
frontend/views/text/index.php
26 KB
| 1 | +$(function(){ | |
| 2 | + $('body').on('click', '#basket_button', function(event){ | |
| 3 | + event.preventDefault(); | |
| 4 | + $(".black").removeClass("hidden"); | |
| 5 | + }); | |
| 6 | + $(".black_close").click(function () { | |
| 7 | + $(this).parent().parent().addClass("hidden"); | |
| 8 | + }); | |
| 9 | + $(".cont_shop").click(function () { | |
| 10 | + $(".black").addClass("hidden"); | |
| 11 | + }); | |
| 12 | +}); | |
| 13 | +$(document).ready(function(){ | |
| 14 | + | |
| 15 | + var result_block = $('.basket_result'); | |
| 16 | + var one_item_block = $('.busket_block'); | |
| 17 | + | |
| 18 | + function countItems(){ | |
| 19 | + var length = $('.busket_modal_01').find('.order_list_li').length; | |
| 20 | + if(length >= 1){ | |
| 21 | + $('.head_basket_count').html(length); | |
| 22 | + $('.all_count').html(length); | |
| 23 | + } else { | |
| 24 | + $('.head_basket_count').html(''); | |
| 25 | + $('.all_count').html(''); | |
| 26 | + } | |
| 27 | + } | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + function changeAjaxPrice(id, num){ | |
| 32 | + $.post( "/orders/buy-items", {id: id, num:num}, function( data ) { | |
| 33 | + }); | |
| 34 | + } | |
| 35 | + | |
| 36 | + function countPrise(block){ | |
| 37 | + var totalBlock = block.parents('.order_list'); | |
| 38 | + var total_price = 0; | |
| 39 | + totalBlock.find('.price_val').each(function(){ | |
| 40 | + total_price += +$(this).html(); | |
| 41 | + }); | |
| 42 | + $('.all_price_span').html(total_price); | |
| 43 | + } | |
| 44 | + | |
| 45 | + | |
| 46 | + $('.item').on('click', '.basket_add_but', function(e){ | |
| 47 | + var id = $('#product_id').val(); | |
| 48 | + $.post( "/orders/buy-items", {id: id, num:1}, function( data ) { | |
| 49 | + $('.basket_result').each(function(){ | |
| 50 | + $(this).html(data); | |
| 51 | + countItems(); | |
| 52 | + }); | |
| 53 | + | |
| 54 | + }); | |
| 55 | + | |
| 56 | + }); | |
| 57 | + | |
| 58 | + $('.main_cont_wrap').on('click', '.cart_btn', function(e){ | |
| 59 | + var id = $(this).data('id'); | |
| 60 | + var num = one_item_block.find('.buy_one_item').val(); | |
| 61 | + $.post( "/orders/buy-items", {id: id, num:num}, function( data ) { | |
| 62 | + $('.basket_result').each(function(){ | |
| 63 | + $(this).html(data) | |
| 64 | + }); | |
| 65 | + }); | |
| 66 | + | |
| 67 | + }); | |
| 68 | + | |
| 69 | + result_block.on('click', '.delete_item_btn', function(){ | |
| 70 | + var block = $(this).parents('.order_list_li'); | |
| 71 | + | |
| 72 | + | |
| 73 | + var id = block.data('id'); | |
| 74 | + | |
| 75 | + $.post( "/orders/delete", {id: id}, function( data ) { | |
| 76 | + }); | |
| 77 | + var forCount = block.parents('ul'); | |
| 78 | + $('.order_list_li[data-id='+id+']').each(function(){ | |
| 79 | + var block = $(this); | |
| 80 | + block.remove(); | |
| 81 | + }); | |
| 82 | + countPrise(forCount); | |
| 83 | + countItems(); | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + }); | |
| 88 | + | |
| 89 | + result_block.on('click', '.button_minus', function(){ | |
| 90 | + var block = $(this).parents('.order_list_li'); | |
| 91 | + var price_block = block.find('.price_val'); | |
| 92 | + var input = block.find('input'); | |
| 93 | + var number = input.val(); | |
| 94 | + var id = block.data('id'); | |
| 95 | + | |
| 96 | + if(number > 1){ | |
| 97 | + number--; | |
| 98 | + input.val(number); | |
| 99 | + var price = price_block.data('price'); | |
| 100 | + var new_price = number * +price; | |
| 101 | + price_block.html(new_price); | |
| 102 | + changeAjaxPrice(id, number); | |
| 103 | + synchronizationPriceData(id, number); | |
| 104 | + } | |
| 105 | + | |
| 106 | + countPrise(block); | |
| 107 | + }); | |
| 108 | + | |
| 109 | + | |
| 110 | + result_block.on('click', '.button_plus', function(){ | |
| 111 | + var block = $(this).parents('.order_list_li'); | |
| 112 | + var price_block = block.find('.price_val'); | |
| 113 | + var input = block.find('input'); | |
| 114 | + var number = input.val(); | |
| 115 | + var id = block.data('id'); | |
| 116 | + | |
| 117 | + number++; | |
| 118 | + input.val(number); | |
| 119 | + var price = price_block.data('price'); | |
| 120 | + var new_price = number * +price; | |
| 121 | + price_block.html(new_price); | |
| 122 | + | |
| 123 | + changeAjaxPrice(id, number); | |
| 124 | + synchronizationPriceData(id, number); | |
| 125 | + countPrise(block); | |
| 126 | + }); | |
| 127 | + | |
| 128 | + result_block.on('change', '.buy_one_item', function(){ | |
| 129 | + var block = $(this).parents('.order_list_li'); | |
| 130 | + var num = $(this).val(); | |
| 131 | + var price_block = block.find('.price_val'); | |
| 132 | + var price = price_block.data('price'); | |
| 133 | + var id = block.data('id'); | |
| 134 | + | |
| 135 | + var new_price = num * +price; | |
| 136 | + price_block.html(new_price); | |
| 137 | + changeAjaxPrice(id, num); | |
| 138 | + synchronizationPriceData(id, num); | |
| 139 | + countPrise(block); | |
| 140 | + }); | |
| 141 | + | |
| 142 | + function synchronizationPriceData(id, number){ | |
| 143 | + $('.order_list_li[data-id='+id+']').each(function(){ | |
| 144 | + var block = $(this); | |
| 145 | + block.find('input').val(number); | |
| 146 | + var price_block = block.find('.price_val'); | |
| 147 | + var price = price_block.data('price'); | |
| 148 | + var new_price = number * +price; | |
| 149 | + price_block.html(new_price); | |
| 150 | + }); | |
| 151 | + } | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + one_item_block.on('click', '.button_minus', function(){ | |
| 156 | + var input = one_item_block.find('.buy_one_item'); | |
| 157 | + var number = input.val(); | |
| 158 | + if(number > 1){ | |
| 159 | + number--; | |
| 160 | + input.val(number); | |
| 161 | + } | |
| 162 | + }); | |
| 163 | + | |
| 164 | + | |
| 165 | + one_item_block.on('click', '.button_plus', function(){ | |
| 166 | + var input = one_item_block.find('.buy_one_item'); | |
| 167 | + var number = input.val(); | |
| 168 | + number++; | |
| 169 | + input.val(number); | |
| 170 | + }); | |
| 171 | + | |
| 172 | + /****************************compare and bookmarks********************************************/ | |
| 173 | + | |
| 174 | + function addItemToCompare(id){ | |
| 175 | + $.post( "/orders/compare", {id: id}, function( data ) { | |
| 176 | + }); | |
| 177 | + } | |
| 178 | + | |
| 179 | + $('#add_to_compare').click(function (event) { | |
| 180 | + event.preventDefault(); | |
| 181 | + var id = $('#one_item_block').data('id'); | |
| 182 | + addItemToCompare(id); | |
| 183 | + }); | |
| 184 | + | |
| 185 | + $('#add_to_bookmarks').click(function(event){ | |
| 186 | + event.preventDefault(); | |
| 187 | + var id = $('#one_item_block').data('id'); | |
| 188 | + $.post( "/orders/bookmarks", {id: id}, function( data ) { | |
| 189 | + }); | |
| 190 | + }); | |
| 191 | + | |
| 192 | + | |
| 193 | +}); | |
| 0 | 194 | \ No newline at end of file | ... | ... |
frontend/web/js/main.js
| 1 | +<?php | |
| 2 | +namespace frontend\widgets; | |
| 3 | + | |
| 4 | +use yii\base\Widget; | |
| 5 | + | |
| 6 | +class Slider extends Widget | |
| 7 | +{ | |
| 8 | + public $title; | |
| 9 | + | |
| 10 | + public function init(){ | |
| 11 | + | |
| 12 | + parent::init(); | |
| 13 | + | |
| 14 | + } | |
| 15 | + | |
| 16 | + | |
| 17 | + public function run() | |
| 18 | + { | |
| 19 | + | |
| 20 | + | |
| 21 | + $slider = \common\models\Slider::find()->where([\common\models\Slider::tableName().'.title'=>$this->title])->joinWith("sliderImage")->one(); | |
| 22 | + | |
| 23 | + return $this->render('slider',[ | |
| 24 | + 'slider'=>$slider | |
| 25 | + ]); | |
| 26 | + | |
| 27 | + | |
| 28 | + } | |
| 29 | + | |
| 30 | +} | |
| 0 | 31 | \ No newline at end of file | ... | ... |