Commit e130021e5c81a41d21319b72fdc7786aa4de6362
1 parent
89744ceb
+ термины и меню (backup)
Showing
32 changed files
with
178 additions
and
1406 deletions
Show diff stats
backend/controllers/CatalogController.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\controllers; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use common\models\Catalog; | ||
| 7 | -use backend\models\SearchCatalog; | ||
| 8 | -use yii\web\Controller; | ||
| 9 | -use yii\web\NotFoundHttpException; | ||
| 10 | -use yii\filters\VerbFilter; | ||
| 11 | -use common\models\CatalogLang; | ||
| 12 | - | ||
| 13 | -/** | ||
| 14 | - * CatalogController implements the CRUD actions for Catalog model. | ||
| 15 | - */ | ||
| 16 | -class CatalogController extends Controller | ||
| 17 | -{ | ||
| 18 | - public function behaviors() | ||
| 19 | - { | ||
| 20 | - return [ | ||
| 21 | - 'verbs' => [ | ||
| 22 | - 'class' => VerbFilter::className(), | ||
| 23 | - 'actions' => [ | ||
| 24 | - 'delete' => ['post'], | ||
| 25 | - ], | ||
| 26 | - ], | ||
| 27 | - ]; | ||
| 28 | - } | ||
| 29 | - | ||
| 30 | - /** | ||
| 31 | - * Lists all Catalog models. | ||
| 32 | - * @return mixed | ||
| 33 | - */ | ||
| 34 | - public function actionIndex() | ||
| 35 | - { | ||
| 36 | - $searchModel = new SearchCatalog(); | ||
| 37 | - $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | ||
| 38 | - | ||
| 39 | - return $this->render('index', [ | ||
| 40 | - 'searchModel' => $searchModel, | ||
| 41 | - 'dataProvider' => $dataProvider, | ||
| 42 | - ]); | ||
| 43 | - } | ||
| 44 | - | ||
| 45 | - /** | ||
| 46 | - * Displays a single Catalog model. | ||
| 47 | - * @param integer $id | ||
| 48 | - * @return mixed | ||
| 49 | - */ | ||
| 50 | - public function actionView($id) | ||
| 51 | - { | ||
| 52 | - return $this->render('view', [ | ||
| 53 | - 'model' => $this->findModel($id), | ||
| 54 | - ]); | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - /** | ||
| 58 | - * Creates a new Catalog model. | ||
| 59 | - * If creation is successful, the browser will be redirected to the 'view' page. | ||
| 60 | - * @return mixed | ||
| 61 | - */ | ||
| 62 | - public function actionCreate() | ||
| 63 | - { | ||
| 64 | - $model = new Catalog(); | ||
| 65 | - | ||
| 66 | - if ($model->load(Yii::$app->request->post()) && $model->save()) | ||
| 67 | - { | ||
| 68 | - return $this->redirect(['view', 'id' => $model->id]); | ||
| 69 | - } | ||
| 70 | - else | ||
| 71 | - { | ||
| 72 | - return $this->render('create', [ | ||
| 73 | - 'model' => $model, | ||
| 74 | - ]); | ||
| 75 | - } | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - /** | ||
| 79 | - * Updates an existing Catalog model. | ||
| 80 | - * If update is successful, the browser will be redirected to the 'view' page. | ||
| 81 | - * @param integer $id | ||
| 82 | - * @return mixed | ||
| 83 | - */ | ||
| 84 | - public function actionUpdate($id) | ||
| 85 | - { | ||
| 86 | - $model = $this->findModel($id); | ||
| 87 | - $model_lang = CatalogLang::find() | ||
| 88 | - ->where(['catalog_id' => $id, 'lang_id' => 1]) | ||
| 89 | - ->one(); | ||
| 90 | - | ||
| 91 | - if ($model->load(Yii::$app->request->post())) | ||
| 92 | - { | ||
| 93 | - $model_lang->title = $model->title; | ||
| 94 | - | ||
| 95 | - $model->save(); | ||
| 96 | - $model_lang->save(); | ||
| 97 | - | ||
| 98 | - return $this->redirect(['view', 'id' => $model->id]); | ||
| 99 | - } | ||
| 100 | - else | ||
| 101 | - { | ||
| 102 | - return $this->render('update', [ | ||
| 103 | - 'model' => $model, | ||
| 104 | - ]); | ||
| 105 | - } | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | - /** | ||
| 109 | - * Deletes an existing Catalog 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 Catalog 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 Catalog the loaded model | ||
| 126 | - * @throws NotFoundHttpException if the model cannot be found | ||
| 127 | - */ | ||
| 128 | - protected function findModel($id) | ||
| 129 | - { | ||
| 130 | - if (($model = Catalog::findOne($id)) !== null) | ||
| 131 | - { | ||
| 132 | - return $model; | ||
| 133 | - } | ||
| 134 | - else | ||
| 135 | - { | ||
| 136 | - throw new NotFoundHttpException('The requested page does not exist.'); | ||
| 137 | - } | ||
| 138 | - } | ||
| 139 | -} |
backend/controllers/MenuController.php
| @@ -3,13 +3,11 @@ | @@ -3,13 +3,11 @@ | ||
| 3 | namespace backend\controllers; | 3 | namespace backend\controllers; |
| 4 | 4 | ||
| 5 | use Yii; | 5 | use Yii; |
| 6 | -use common\models\Menu; | 6 | +use backend\models\Menu; |
| 7 | use backend\models\MenuSearch; | 7 | use backend\models\MenuSearch; |
| 8 | use yii\web\Controller; | 8 | use yii\web\Controller; |
| 9 | use yii\web\NotFoundHttpException; | 9 | use yii\web\NotFoundHttpException; |
| 10 | use yii\filters\VerbFilter; | 10 | use yii\filters\VerbFilter; |
| 11 | -use common\models\TerminLang; | ||
| 12 | -use backend\models\SearchMenu; | ||
| 13 | 11 | ||
| 14 | /** | 12 | /** |
| 15 | * MenuController implements the CRUD actions for Menu model. | 13 | * MenuController implements the CRUD actions for Menu model. |
| @@ -34,7 +32,7 @@ class MenuController extends Controller | @@ -34,7 +32,7 @@ class MenuController extends Controller | ||
| 34 | */ | 32 | */ |
| 35 | public function actionIndex() | 33 | public function actionIndex() |
| 36 | { | 34 | { |
| 37 | - $searchModel = new SearchMenu(); | 35 | + $searchModel = new MenuSearch(); |
| 38 | $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | 36 | $dataProvider = $searchModel->search(Yii::$app->request->queryParams); |
| 39 | 37 | ||
| 40 | return $this->render('index', [ | 38 | return $this->render('index', [ |
| @@ -64,32 +62,11 @@ class MenuController extends Controller | @@ -64,32 +62,11 @@ class MenuController extends Controller | ||
| 64 | { | 62 | { |
| 65 | $model = new Menu(); | 63 | $model = new Menu(); |
| 66 | 64 | ||
| 67 | - $menu = yii::$app->db->createCommand(' | ||
| 68 | - SELECT * | ||
| 69 | - FROM menu | ||
| 70 | - LEFT JOIN termin_lang ON termin_lang.termin_id = menu.termin_id | ||
| 71 | - ')->queryAll(); | ||
| 72 | - | ||
| 73 | - | ||
| 74 | - $termin = TerminLang::find()->all(); | ||
| 75 | - | ||
| 76 | - if ($model->load(Yii::$app->request->post())) { | ||
| 77 | - | ||
| 78 | - if($model->menu_pid == null) | ||
| 79 | - { | ||
| 80 | - $model->menu_pid = 0; | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - | ||
| 84 | - $model->save(); | ||
| 85 | - | ||
| 86 | - | 65 | + if ($model->load(Yii::$app->request->post()) && $model->save()) { |
| 87 | return $this->redirect(['view', 'id' => $model->menu_id]); | 66 | return $this->redirect(['view', 'id' => $model->menu_id]); |
| 88 | } else { | 67 | } else { |
| 89 | return $this->render('create', [ | 68 | return $this->render('create', [ |
| 90 | 'model' => $model, | 69 | 'model' => $model, |
| 91 | - 'termin' => $termin, | ||
| 92 | - 'menu' => $menu, | ||
| 93 | ]); | 70 | ]); |
| 94 | } | 71 | } |
| 95 | } | 72 | } |
| @@ -103,22 +80,12 @@ class MenuController extends Controller | @@ -103,22 +80,12 @@ class MenuController extends Controller | ||
| 103 | public function actionUpdate($id) | 80 | public function actionUpdate($id) |
| 104 | { | 81 | { |
| 105 | $model = $this->findModel($id); | 82 | $model = $this->findModel($id); |
| 106 | - $menu = yii::$app->db->createCommand(' | ||
| 107 | - SELECT * | ||
| 108 | - FROM menu | ||
| 109 | - LEFT JOIN termin_lang ON termin_lang.termin_id = menu.termin_id | ||
| 110 | - ')->queryAll() + ['termin_id' => 0, 'termin_title' => 'ROOT']; | ||
| 111 | - | ||
| 112 | - | ||
| 113 | - $termin = TerminLang::find()->all(); | ||
| 114 | 83 | ||
| 115 | if ($model->load(Yii::$app->request->post()) && $model->save()) { | 84 | if ($model->load(Yii::$app->request->post()) && $model->save()) { |
| 116 | return $this->redirect(['view', 'id' => $model->menu_id]); | 85 | return $this->redirect(['view', 'id' => $model->menu_id]); |
| 117 | } else { | 86 | } else { |
| 118 | return $this->render('update', [ | 87 | return $this->render('update', [ |
| 119 | 'model' => $model, | 88 | 'model' => $model, |
| 120 | - 'termin' => $termin, | ||
| 121 | - 'menu' => $menu, | ||
| 122 | ]); | 89 | ]); |
| 123 | } | 90 | } |
| 124 | } | 91 | } |
backend/models/SearchCatalog.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\base\Model; | ||
| 7 | -use yii\data\ActiveDataProvider; | ||
| 8 | -use common\models\Catalog; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * SearchCatalog represents the model behind the search form about `common\models\Catalog`. | ||
| 12 | - */ | ||
| 13 | -class SearchCatalog extends Catalog | ||
| 14 | -{ | ||
| 15 | - /** | ||
| 16 | - * для поиска | ||
| 17 | - * @var $title | ||
| 18 | - */ | ||
| 19 | - var $title; | ||
| 20 | - | ||
| 21 | - /** | ||
| 22 | - * @inheritdoc | ||
| 23 | - */ | ||
| 24 | - public function rules() | ||
| 25 | - { | ||
| 26 | - return [ | ||
| 27 | - [['catalog_id', 'parent_id', 'status', 'sort'], 'integer'], | ||
| 28 | - // + поиск по title | ||
| 29 | - [['title'], 'safe'] | ||
| 30 | - ]; | ||
| 31 | - } | ||
| 32 | - | ||
| 33 | - /** | ||
| 34 | - * @inheritdoc | ||
| 35 | - */ | ||
| 36 | - public function scenarios() | ||
| 37 | - { | ||
| 38 | - // bypass scenarios() implementation in the parent class | ||
| 39 | - return Model::scenarios(); | ||
| 40 | - } | ||
| 41 | - | ||
| 42 | - /** | ||
| 43 | - * Creates data provider instance with search query applied | ||
| 44 | - * | ||
| 45 | - * @param array $params | ||
| 46 | - * | ||
| 47 | - * @return ActiveDataProvider | ||
| 48 | - */ | ||
| 49 | - public function search($params) | ||
| 50 | - { | ||
| 51 | - $query = Catalog::find(); | ||
| 52 | - | ||
| 53 | - $dataProvider = new ActiveDataProvider([ | ||
| 54 | - 'query' => $query, | ||
| 55 | - ]); | ||
| 56 | - | ||
| 57 | - // + поиск по title | ||
| 58 | - $dataProvider->setSort([ | ||
| 59 | - 'attributes' => [ | ||
| 60 | - 'catalog_id', | ||
| 61 | - 'title' => [ | ||
| 62 | - 'asc' => ['title' => SORT_ASC], | ||
| 63 | - 'desc' => ['title' => SORT_DESC], | ||
| 64 | - 'label' => 'title', | ||
| 65 | - 'default' => SORT_ASC | ||
| 66 | - ] | ||
| 67 | - ] | ||
| 68 | - ]); | ||
| 69 | - | ||
| 70 | - $this->load($params); | ||
| 71 | - | ||
| 72 | - // + поиск по title | ||
| 73 | - $query->joinWith(['relationCatalogLangPlus']); | ||
| 74 | - | ||
| 75 | - if (!$this->validate()) | ||
| 76 | - { | ||
| 77 | - // uncomment the following line if you do not want to return any records when validation fails | ||
| 78 | - // $query->where('0=1'); | ||
| 79 | - | ||
| 80 | - return $dataProvider; | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - $query->andFilterWhere([ | ||
| 84 | - 'catalog_id' => $this->catalog_id, | ||
| 85 | - 'parent_id' => $this->parent_id, | ||
| 86 | - 'status' => $this->status, | ||
| 87 | - 'sort' => $this->sort, | ||
| 88 | - ]); | ||
| 89 | - | ||
| 90 | - $query->andFilterWhere(['like', 'cover', $this->cover]); | ||
| 91 | - | ||
| 92 | - // + поиск по title | ||
| 93 | - if (! empty ($this->title)) | ||
| 94 | - { | ||
| 95 | - $query->joinWith(['relationCatalogLangPlus' => function ($q) | ||
| 96 | - { | ||
| 97 | - $q->where(['like', 'catalog_i18n.title', $this->title]); | ||
| 98 | - }]); | ||
| 99 | - } | ||
| 100 | - | ||
| 101 | - return $dataProvider; | ||
| 102 | - } | ||
| 103 | -} |
backend/models/SearchMenu.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\base\Model; | ||
| 7 | -use yii\data\ActiveDataProvider; | ||
| 8 | -use common\models\Menu; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * SearchMenu represents the model behind the search form about `common\models\Menu`. | ||
| 12 | - */ | ||
| 13 | -class SearchMenu extends Menu | ||
| 14 | -{ | ||
| 15 | - /** | ||
| 16 | - * @inheritdoc | ||
| 17 | - */ | ||
| 18 | - public function rules() | ||
| 19 | - { | ||
| 20 | - return [ | ||
| 21 | - [['menu_id', 'menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'integer'], | ||
| 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 = Menu::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 return any records when validation fails | ||
| 53 | - // $query->where('0=1'); | ||
| 54 | - return $dataProvider; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - $query->andFilterWhere([ | ||
| 58 | - 'menu_id' => $this->menu_id, | ||
| 59 | - 'menu_pid' => $this->menu_pid, | ||
| 60 | - 'menu_lft' => $this->menu_lft, | ||
| 61 | - 'menu_rgt' => $this->menu_rgt, | ||
| 62 | - 'termin_id' => $this->termin_id, | ||
| 63 | - 'show' => $this->show, | ||
| 64 | - 'sortorder' => $this->sortorder, | ||
| 65 | - ]); | ||
| 66 | - | ||
| 67 | - return $dataProvider; | ||
| 68 | - } | ||
| 69 | -} |
backend/models/SearchPage.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\models; | ||
| 4 | - | ||
| 5 | -use yii\base\Model; | ||
| 6 | -use yii\data\ActiveDataProvider; | ||
| 7 | -use common\models\Page; | ||
| 8 | - | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * SearchPage represents the model behind the search form about `common\models\Page`. | ||
| 12 | - */ | ||
| 13 | -class SearchPage extends Page | ||
| 14 | -{ | ||
| 15 | - /** | ||
| 16 | - * @inheritdoc | ||
| 17 | - */ | ||
| 18 | - public function rules() | ||
| 19 | - { | ||
| 20 | - return [ | ||
| 21 | - [['page_id', 'template_id', 'image_id', 'show'], 'integer'], | ||
| 22 | - [['date_add'], '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 | - /** | ||
| 37 | - * Creates data provider instance with search query applied | ||
| 38 | - * | ||
| 39 | - * @param array $params | ||
| 40 | - * | ||
| 41 | - * @return ActiveDataProvider | ||
| 42 | - */ | ||
| 43 | - public function search($params) | ||
| 44 | - { | ||
| 45 | - $query = Page::find(); | ||
| 46 | - | ||
| 47 | - $dataProvider = new ActiveDataProvider([ | ||
| 48 | - 'query' => $query, | ||
| 49 | - ]); | ||
| 50 | - | ||
| 51 | - $this->load($params); | ||
| 52 | - | ||
| 53 | - if (!$this->validate()) { | ||
| 54 | - // uncomment the following line if you do not want to return any records when validation fails | ||
| 55 | - // $query->where('0=1'); | ||
| 56 | - return $dataProvider; | ||
| 57 | - } | ||
| 58 | - | ||
| 59 | - $query->andFilterWhere([ | ||
| 60 | - 'page_id' => $this->page_id, | ||
| 61 | - 'date_add' => $this->date_add, | ||
| 62 | - 'template_id' => $this->template_id, | ||
| 63 | - 'image_id' => $this->image_id, | ||
| 64 | - 'show' => $this->show, | ||
| 65 | - ]); | ||
| 66 | - | ||
| 67 | - return $dataProvider; | ||
| 68 | - } | ||
| 69 | -} |
backend/models/SearchTermin.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\base\Model; | ||
| 7 | -use yii\data\ActiveDataProvider; | ||
| 8 | -use common\models\Termin; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * SearchTermin represents the model behind the search form about `common\models\Termin`. | ||
| 12 | - */ | ||
| 13 | -class SearchTermin extends Termin | ||
| 14 | -{ | ||
| 15 | - /** | ||
| 16 | - * @inheritdoc | ||
| 17 | - */ | ||
| 18 | - public function rules() | ||
| 19 | - { | ||
| 20 | - return [ | ||
| 21 | - [['termin_id', 'termin_pid', 'lfr', 'rgt', 'termin_type_id', 'page_id'], 'integer'], | ||
| 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 = Termin::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 return any records when validation fails | ||
| 53 | - // $query->where('0=1'); | ||
| 54 | - return $dataProvider; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - $query->andFilterWhere([ | ||
| 58 | - 'termin_id' => $this->termin_id, | ||
| 59 | - 'termin_pid' => $this->termin_pid, | ||
| 60 | - 'lfr' => $this->lfr, | ||
| 61 | - 'rgt' => $this->rgt, | ||
| 62 | - 'termin_type_id' => $this->termin_type_id, | ||
| 63 | - 'page_id' => $this->page_id, | ||
| 64 | - ]); | ||
| 65 | - | ||
| 66 | - return $dataProvider; | ||
| 67 | - } | ||
| 68 | -} |
backend/models/TerminLangSearch.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace backend\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\base\Model; | ||
| 7 | -use yii\data\ActiveDataProvider; | ||
| 8 | -use common\models\TerminLang; | ||
| 9 | - | ||
| 10 | -/** | ||
| 11 | - * TerminLangSearch represents the model behind the search form about `common\models\TerminLang`. | ||
| 12 | - */ | ||
| 13 | -class TerminLangSearch extends TerminLang | ||
| 14 | -{ | ||
| 15 | - /** | ||
| 16 | - * @inheritdoc | ||
| 17 | - */ | ||
| 18 | - public function rules() | ||
| 19 | - { | ||
| 20 | - return [ | ||
| 21 | - [['termin_id', 'lang_id'], 'integer'], | ||
| 22 | - [['termin_title'], '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 = TerminLang::find(); | ||
| 45 | - | ||
| 46 | - $dataProvider = new ActiveDataProvider([ | ||
| 47 | - 'query' => $query, | ||
| 48 | - ]); | ||
| 49 | - | ||
| 50 | - $this->load($params); | ||
| 51 | - | ||
| 52 | - if (!$this->validate()) { | ||
| 53 | - // uncomment the following line if you do not want to return any records when validation fails | ||
| 54 | - // $query->where('0=1'); | ||
| 55 | - return $dataProvider; | ||
| 56 | - } | ||
| 57 | - | ||
| 58 | - $query->andFilterWhere([ | ||
| 59 | - 'termin_id' => $this->termin_id, | ||
| 60 | - 'lang_id' => $this->lang_id, | ||
| 61 | - ]); | ||
| 62 | - | ||
| 63 | - $query->andFilterWhere(['like', 'termin_title', $this->termin_title]); | ||
| 64 | - | ||
| 65 | - return $dataProvider; | ||
| 66 | - } | ||
| 67 | -} |
backend/views/catalog/_form.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | -use yii\widgets\ActiveForm; | ||
| 5 | -use yii\helpers\ArrayHelper; | ||
| 6 | -use common\models\Catalog; | ||
| 7 | - | ||
| 8 | -/* @var $this yii\web\View */ | ||
| 9 | -/* @var $model common\models\Catalog */ | ||
| 10 | -/* @var $form yii\widgets\ActiveForm */ | ||
| 11 | -?> | ||
| 12 | - | ||
| 13 | -<div class="catalog-form"> | ||
| 14 | - | ||
| 15 | - <?php $form = ActiveForm::begin(); ?> | ||
| 16 | - | ||
| 17 | - <?= $form->field($model, 'title')->textInput() ?> | ||
| 18 | - | ||
| 19 | - <?= $form->field($model, 'parent_id')->dropDownList( | ||
| 20 | - ArrayHelper::map($model->find()->all(), 'parent_id', 'title') | ||
| 21 | - ) | ||
| 22 | - ?> | ||
| 23 | - | ||
| 24 | - <?= $form->field($model, 'cover')->textInput(['maxlength' => true]) ?> | ||
| 25 | - | ||
| 26 | - <?= $form->field($model, 'status')->dropDownList([ | ||
| 27 | - '1' => Yii::t('action', 'show'), | ||
| 28 | - '0' => Yii::t('action', 'hide'), | ||
| 29 | - ]); | ||
| 30 | - | ||
| 31 | - echo '<pre>'; | ||
| 32 | - | ||
| 33 | - $array = $model->findInfo([ | ||
| 34 | - 'catalog_id' => 1, | ||
| 35 | - 'return_one' => true, | ||
| 36 | - 'to_array' => false, | ||
| 37 | - ]); | ||
| 38 | - | ||
| 39 | - var_dump($array->relationCatalogLang2->title); | ||
| 40 | - //var_dump($array->relationCatalogLang2->title); | ||
| 41 | - | ||
| 42 | - echo '</pre>'; | ||
| 43 | - | ||
| 44 | - ?> | ||
| 45 | - | ||
| 46 | - <?= $form->field($model, 'sort')->textInput() ?> | ||
| 47 | - | ||
| 48 | - <div class="form-group"> | ||
| 49 | - <?= Html::submitButton($model->isNewRecord ? Yii::t('action', 'add') : Yii::t('action', 'update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | ||
| 50 | - </div> | ||
| 51 | - | ||
| 52 | - <?php ActiveForm::end(); ?> | ||
| 53 | - | ||
| 54 | -</div> |
backend/views/catalog/_search.php deleted
| 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\SearchCatalog */ | ||
| 8 | -/* @var $form yii\widgets\ActiveForm */ | ||
| 9 | -?> | ||
| 10 | - | ||
| 11 | -<div class="catalog-search"> | ||
| 12 | - | ||
| 13 | - <?php $form = ActiveForm::begin([ | ||
| 14 | - 'action' => ['index'], | ||
| 15 | - 'method' => 'get', | ||
| 16 | - ]); ?> | ||
| 17 | - | ||
| 18 | - <?= $form->field($model, 'catalog_id') ?> | ||
| 19 | - | ||
| 20 | - <?= $form->field($model, 'parent_id') ?> | ||
| 21 | - | ||
| 22 | - <?= $form->field($model, 'cover') ?> | ||
| 23 | - | ||
| 24 | - <?php // echo $form->field($model, 'status') ?> | ||
| 25 | - | ||
| 26 | - <?php // echo $form->field($model, 'sort') ?> | ||
| 27 | - | ||
| 28 | - <div class="form-group"> | ||
| 29 | - <?= Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?> | ||
| 30 | - <?= Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?> | ||
| 31 | - </div> | ||
| 32 | - | ||
| 33 | - <?php ActiveForm::end(); ?> | ||
| 34 | - | ||
| 35 | -</div> |
backend/views/catalog/create.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | - | ||
| 5 | - | ||
| 6 | -/* @var $this yii\web\View */ | ||
| 7 | -/* @var $model common\models\Catalog */ | ||
| 8 | - | ||
| 9 | -$this->title = Yii::t('app', 'Create Catalog'); | ||
| 10 | -$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Catalogs'), 'url' => ['index']]; | ||
| 11 | -$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | -?> | ||
| 13 | -<div class="catalog-create"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - | ||
| 17 | - <?= $this->render('_form', [ | ||
| 18 | - 'model' => $model, | ||
| 19 | - ]) ?> | ||
| 20 | - | ||
| 21 | -</div> |
backend/views/catalog/index.php deleted
| 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\SearchCatalog */ | ||
| 8 | -/* @var $dataProvider yii\data\ActiveDataProvider */ | ||
| 9 | - | ||
| 10 | -$this->title = Yii::t('app', 'Catalogs'); | ||
| 11 | -$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | -?> | ||
| 13 | -<div class="catalog-index"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
| 17 | - | ||
| 18 | - <p> | ||
| 19 | - <?= Html::a(Yii::t('app', 'Create Catalog'), ['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 | - 'catalog_id', | ||
| 29 | - 'parent_id', | ||
| 30 | - 'title', | ||
| 31 | - // 'status', | ||
| 32 | - // 'sort', | ||
| 33 | - | ||
| 34 | - ['class' => 'yii\grid\ActionColumn'], | ||
| 35 | - ], | ||
| 36 | - ]); ?> | ||
| 37 | - | ||
| 38 | -</div> |
backend/views/catalog/update.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -use yii\helpers\Html; | ||
| 4 | - | ||
| 5 | -/* @var $this yii\web\View */ | ||
| 6 | -/* @var $model common\models\Catalog */ | ||
| 7 | - | ||
| 8 | -$this->title = Yii::t('app', 'Update {modelClass}: ', [ | ||
| 9 | - 'modelClass' => 'Catalog', | ||
| 10 | -]) . ' ' . $model->catalog_id; | ||
| 11 | -$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Catalogs'), 'url' => ['index']]; | ||
| 12 | -$this->params['breadcrumbs'][] = ['label' => $model->catalog_id, 'url' => ['view', 'id' => $model->catalog_id]]; | ||
| 13 | -$this->params['breadcrumbs'][] = Yii::t('app', 'Update'); | ||
| 14 | -?> | ||
| 15 | -<div class="catalog-update"> | ||
| 16 | - | ||
| 17 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 18 | - | ||
| 19 | - <?= $this->render('_form', [ | ||
| 20 | - 'model' => $model, | ||
| 21 | - ]) ?> | ||
| 22 | - | ||
| 23 | -</div> |
backend/views/catalog/view.php deleted
| 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\Catalog */ | ||
| 8 | - | ||
| 9 | -$this->title = $model->catalog_id; | ||
| 10 | -$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Catalogs'), 'url' => ['index']]; | ||
| 11 | -$this->params['breadcrumbs'][] = $this->title; | ||
| 12 | -?> | ||
| 13 | -<div class="catalog-view"> | ||
| 14 | - | ||
| 15 | - <h1><?= Html::encode($this->title) ?></h1> | ||
| 16 | - | ||
| 17 | - <p> | ||
| 18 | - <?= Html::a(Yii::t('app', 'Update'), ['update', 'catalog_id' => $model->catalog_id], ['class' => 'btn btn-primary']) ?> | ||
| 19 | - <?= Html::a(Yii::t('app', 'Delete'), ['delete', 'catalog_id' => $model->catalog_id], [ | ||
| 20 | - 'class' => 'btn btn-danger', | ||
| 21 | - 'data' => [ | ||
| 22 | - 'confirm' => Yii::t('app', '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 | - 'catalog_id', | ||
| 32 | - 'parent_id', | ||
| 33 | - 'cover', | ||
| 34 | - 'status', | ||
| 35 | - 'sort', | ||
| 36 | - ], | ||
| 37 | - ]) ?> | ||
| 38 | - | ||
| 39 | -</div> |
backend/views/layouts/left.php
| @@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
| 33 | ['label' => 'Термины', 'icon' => 'fa fa-file-code-o', 'url' => ['/termin/']], | 33 | ['label' => 'Термины', 'icon' => 'fa fa-file-code-o', 'url' => ['/termin/']], |
| 34 | //['label' => Yii::t('app', 'Pages'), 'icon' => 'fa fa-file-code-o', 'url' => ['/page/']], | 34 | //['label' => Yii::t('app', 'Pages'), 'icon' => 'fa fa-file-code-o', 'url' => ['/page/']], |
| 35 | //['label' => 'Каталог', 'icon' => 'fa fa-file-code-o', 'url' => ['/catalog/']], | 35 | //['label' => 'Каталог', 'icon' => 'fa fa-file-code-o', 'url' => ['/catalog/']], |
| 36 | - //['label' => 'Меню', 'icon' => 'fa fa-file-code-o', 'url' => ['/menu/']], | 36 | + ['label' => 'Меню', 'icon' => 'fa fa-file-code-o', 'url' => ['/menu/']], |
| 37 | ['label' => 'Заявки', 'icon' => 'fa fa-file-code-o', 'url' => ['/site/requests/']], | 37 | ['label' => 'Заявки', 'icon' => 'fa fa-file-code-o', 'url' => ['/site/requests/']], |
| 38 | ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']], | 38 | ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']], |
| 39 | ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']], | 39 | ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']], |
backend/views/menu/_form.php
| @@ -2,11 +2,9 @@ | @@ -2,11 +2,9 @@ | ||
| 2 | 2 | ||
| 3 | use yii\helpers\Html; | 3 | use yii\helpers\Html; |
| 4 | use yii\widgets\ActiveForm; | 4 | use yii\widgets\ActiveForm; |
| 5 | -use yii\helpers\ArrayHelper; | ||
| 6 | -use kartik\select2\Select2; | ||
| 7 | 5 | ||
| 8 | /* @var $this yii\web\View */ | 6 | /* @var $this yii\web\View */ |
| 9 | -/* @var $model common\models\Menu */ | 7 | +/* @var $model backend\models\Menu */ |
| 10 | /* @var $form yii\widgets\ActiveForm */ | 8 | /* @var $form yii\widgets\ActiveForm */ |
| 11 | ?> | 9 | ?> |
| 12 | 10 | ||
| @@ -14,33 +12,25 @@ use kartik\select2\Select2; | @@ -14,33 +12,25 @@ use kartik\select2\Select2; | ||
| 14 | 12 | ||
| 15 | <?php $form = ActiveForm::begin(); ?> | 13 | <?php $form = ActiveForm::begin(); ?> |
| 16 | 14 | ||
| 17 | - | ||
| 18 | - | ||
| 19 | - <?= $form->field($model, 'termin_id')->widget(Select2::classname(), [ | ||
| 20 | - //'data' => $data, | ||
| 21 | - 'language' => 'ru', | ||
| 22 | - 'options' => ['placeholder' => 'под меню ...'], | ||
| 23 | - 'pluginOptions' => [ | ||
| 24 | - | ||
| 25 | - ], | ||
| 26 | - 'data' => ArrayHelper::map($termin, 'termin_id', 'termin_title'), // data as array | ||
| 27 | - ]) ?> | ||
| 28 | - | ||
| 29 | - <?= $form->field($model, 'menu_pid')->widget(Select2::classname(), [ | ||
| 30 | - //'data' => $data, | ||
| 31 | - 'language' => 'ru', | ||
| 32 | - 'options' => ['placeholder' => 'Меню родитель ...'], | ||
| 33 | - 'pluginOptions' => [ | ||
| 34 | - | ||
| 35 | - ], | ||
| 36 | - 'data' => ArrayHelper::map($menu, 'termin_id', 'termin_title'), // data as array | ||
| 37 | - ]) ?> | ||
| 38 | - | ||
| 39 | - | ||
| 40 | - | ||
| 41 | - <?= $form->field($model, 'show')->dropDownList(['1' => Yii::t('action', 'show'), '0' => Yii::t('action', 'hide')]) ?> | ||
| 42 | - | ||
| 43 | - <?= $form->field($model, 'sortorder')->dropDownList(['1' => '1', '0' => '2']) ?> | 15 | + <?= $form->field($model, 'menu_id')->textInput() ?> |
| 16 | + | ||
| 17 | + <?= $form->field($model, 'menu_pid')->textInput() ?> | ||
| 18 | + | ||
| 19 | + <?= $form->field($model, 'level')->textInput() ?> | ||
| 20 | + | ||
| 21 | + <?= $form->field($model, 'termin_id')->textInput() ?> | ||
| 22 | + | ||
| 23 | + <?= $form->field($model, 'show')->textInput() ?> | ||
| 24 | + | ||
| 25 | + <?= $form->field($model, 'is_open')->textInput() ?> | ||
| 26 | + | ||
| 27 | + <?= $form->field($model, 'menu_location_id')->textInput() ?> | ||
| 28 | + | ||
| 29 | + <?= $form->field($model, 'sortorder')->textInput() ?> | ||
| 30 | + | ||
| 31 | + <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> | ||
| 32 | + | ||
| 33 | + <?= $form->field($model, 'url')->textInput(['maxlength' => true]) ?> | ||
| 44 | 34 | ||
| 45 | <div class="form-group"> | 35 | <div class="form-group"> |
| 46 | <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | 36 | <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> |
backend/views/menu/_search.php
| @@ -19,16 +19,22 @@ use yii\widgets\ActiveForm; | @@ -19,16 +19,22 @@ use yii\widgets\ActiveForm; | ||
| 19 | 19 | ||
| 20 | <?= $form->field($model, 'menu_pid') ?> | 20 | <?= $form->field($model, 'menu_pid') ?> |
| 21 | 21 | ||
| 22 | - <?= $form->field($model, 'menu_lft') ?> | ||
| 23 | - | ||
| 24 | - <?= $form->field($model, 'menu_rgt') ?> | 22 | + <?= $form->field($model, 'level') ?> |
| 25 | 23 | ||
| 26 | <?= $form->field($model, 'termin_id') ?> | 24 | <?= $form->field($model, 'termin_id') ?> |
| 27 | 25 | ||
| 28 | - <?php // echo $form->field($model, 'show') ?> | 26 | + <?= $form->field($model, 'show') ?> |
| 27 | + | ||
| 28 | + <?php // echo $form->field($model, 'is_open') ?> | ||
| 29 | + | ||
| 30 | + <?php // echo $form->field($model, 'menu_location_id') ?> | ||
| 29 | 31 | ||
| 30 | <?php // echo $form->field($model, 'sortorder') ?> | 32 | <?php // echo $form->field($model, 'sortorder') ?> |
| 31 | 33 | ||
| 34 | + <?php // echo $form->field($model, 'name') ?> | ||
| 35 | + | ||
| 36 | + <?php // echo $form->field($model, 'url') ?> | ||
| 37 | + | ||
| 32 | <div class="form-group"> | 38 | <div class="form-group"> |
| 33 | <?= Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?> | 39 | <?= Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?> |
| 34 | <?= Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?> | 40 | <?= Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?> |
backend/views/menu/create.php
| @@ -4,7 +4,7 @@ use yii\helpers\Html; | @@ -4,7 +4,7 @@ use yii\helpers\Html; | ||
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | /* @var $this yii\web\View */ | 6 | /* @var $this yii\web\View */ |
| 7 | -/* @var $model common\models\Menu */ | 7 | +/* @var $model backend\models\Menu */ |
| 8 | 8 | ||
| 9 | $this->title = Yii::t('app', 'Create Menu'); | 9 | $this->title = Yii::t('app', 'Create Menu'); |
| 10 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Menus'), 'url' => ['index']]; | 10 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Menus'), 'url' => ['index']]; |
| @@ -16,8 +16,6 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -16,8 +16,6 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 16 | 16 | ||
| 17 | <?= $this->render('_form', [ | 17 | <?= $this->render('_form', [ |
| 18 | 'model' => $model, | 18 | 'model' => $model, |
| 19 | - 'termin' => $termin, | ||
| 20 | - 'menu' => $menu, | ||
| 21 | ]) ?> | 19 | ]) ?> |
| 22 | 20 | ||
| 23 | </div> | 21 | </div> |
backend/views/menu/index.php
| @@ -16,7 +16,8 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -16,7 +16,8 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 16 | <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | 16 | <?php // echo $this->render('_search', ['model' => $searchModel]); ?> |
| 17 | 17 | ||
| 18 | <p> | 18 | <p> |
| 19 | - <?= Html::a(Yii::t('app', 'Create Menu'), ['create'], ['class' => 'btn btn-success']) ?> | 19 | + <?= Html::a(Yii::t('app', 'Create').' '.Yii::t('app', 'menu'), ['create'], ['class' => 'btn btn-success']) ?> |
| 20 | + <?= Html::a(Yii::t('app', 'Create').' '.Yii::t('app', 'location'), ['/menu-location/'], ['class' => 'btn btn-primary']) ?> | ||
| 20 | </p> | 21 | </p> |
| 21 | 22 | ||
| 22 | <?= GridView::widget([ | 23 | <?= GridView::widget([ |
| @@ -25,18 +26,14 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -25,18 +26,14 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 25 | 'columns' => [ | 26 | 'columns' => [ |
| 26 | ['class' => 'yii\grid\SerialColumn'], | 27 | ['class' => 'yii\grid\SerialColumn'], |
| 27 | 28 | ||
| 28 | - 'menu_id', | ||
| 29 | - 'menu_pid', | ||
| 30 | [ | 29 | [ |
| 31 | - 'attribute' => 'menu_pid', | 30 | + 'attribute' => Yii::t('app', 'termin'), |
| 32 | 'value' => function ($model) { | 31 | 'value' => function ($model) { |
| 33 | return empty($model->termin_id) ? '-' : $model->termin_lang->termin_title; | 32 | return empty($model->termin_id) ? '-' : $model->termin_lang->termin_title; |
| 34 | }, | 33 | }, |
| 35 | - ], | ||
| 36 | - // 'menu_lft', | ||
| 37 | - // 'menu_rgt', | ||
| 38 | - 'termin_id', | ||
| 39 | - // 'show', | 34 | + ], |
| 35 | + 'menu_pid', | ||
| 36 | + 'level', | ||
| 40 | // 'sortorder', | 37 | // 'sortorder', |
| 41 | 38 | ||
| 42 | ['class' => 'yii\grid\ActionColumn'], | 39 | ['class' => 'yii\grid\ActionColumn'], |
backend/views/menu/update.php
| @@ -3,13 +3,13 @@ | @@ -3,13 +3,13 @@ | ||
| 3 | use yii\helpers\Html; | 3 | use yii\helpers\Html; |
| 4 | 4 | ||
| 5 | /* @var $this yii\web\View */ | 5 | /* @var $this yii\web\View */ |
| 6 | -/* @var $model common\models\Menu */ | 6 | +/* @var $model backend\models\Menu */ |
| 7 | 7 | ||
| 8 | $this->title = Yii::t('app', 'Update {modelClass}: ', [ | 8 | $this->title = Yii::t('app', 'Update {modelClass}: ', [ |
| 9 | 'modelClass' => 'Menu', | 9 | 'modelClass' => 'Menu', |
| 10 | -]) . ' ' . $model->menu_id; | 10 | +]) . ' ' . $model->name; |
| 11 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Menus'), 'url' => ['index']]; | 11 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Menus'), 'url' => ['index']]; |
| 12 | -$this->params['breadcrumbs'][] = ['label' => $model->menu_id, 'url' => ['view', 'id' => $model->menu_id]]; | 12 | +$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->menu_id]]; |
| 13 | $this->params['breadcrumbs'][] = Yii::t('app', 'Update'); | 13 | $this->params['breadcrumbs'][] = Yii::t('app', 'Update'); |
| 14 | ?> | 14 | ?> |
| 15 | <div class="menu-update"> | 15 | <div class="menu-update"> |
| @@ -18,8 +18,6 @@ $this->params['breadcrumbs'][] = Yii::t('app', 'Update'); | @@ -18,8 +18,6 @@ $this->params['breadcrumbs'][] = Yii::t('app', 'Update'); | ||
| 18 | 18 | ||
| 19 | <?= $this->render('_form', [ | 19 | <?= $this->render('_form', [ |
| 20 | 'model' => $model, | 20 | 'model' => $model, |
| 21 | - 'termin' => $termin, | ||
| 22 | - 'menu' => $menu, | ||
| 23 | ]) ?> | 21 | ]) ?> |
| 24 | 22 | ||
| 25 | </div> | 23 | </div> |
backend/views/menu/view.php
| @@ -4,9 +4,9 @@ use yii\helpers\Html; | @@ -4,9 +4,9 @@ use yii\helpers\Html; | ||
| 4 | use yii\widgets\DetailView; | 4 | use yii\widgets\DetailView; |
| 5 | 5 | ||
| 6 | /* @var $this yii\web\View */ | 6 | /* @var $this yii\web\View */ |
| 7 | -/* @var $model common\models\Menu */ | 7 | +/* @var $model backend\models\Menu */ |
| 8 | 8 | ||
| 9 | -$this->title = $model->menu_id; | 9 | +$this->title = $model->name; |
| 10 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Menus'), 'url' => ['index']]; | 10 | $this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Menus'), 'url' => ['index']]; |
| 11 | $this->params['breadcrumbs'][] = $this->title; | 11 | $this->params['breadcrumbs'][] = $this->title; |
| 12 | ?> | 12 | ?> |
| @@ -30,11 +30,14 @@ $this->params['breadcrumbs'][] = $this->title; | @@ -30,11 +30,14 @@ $this->params['breadcrumbs'][] = $this->title; | ||
| 30 | 'attributes' => [ | 30 | 'attributes' => [ |
| 31 | 'menu_id', | 31 | 'menu_id', |
| 32 | 'menu_pid', | 32 | 'menu_pid', |
| 33 | - 'menu_lft', | ||
| 34 | - 'menu_rgt', | 33 | + 'level', |
| 35 | 'termin_id', | 34 | 'termin_id', |
| 36 | 'show', | 35 | 'show', |
| 36 | + 'is_open', | ||
| 37 | + 'menu_location_id', | ||
| 37 | 'sortorder', | 38 | 'sortorder', |
| 39 | + 'name', | ||
| 40 | + 'url:url', | ||
| 38 | ], | 41 | ], |
| 39 | ]) ?> | 42 | ]) ?> |
| 40 | 43 |
common/models/Catalog.php
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | namespace common\models; | 3 | namespace common\models; |
| 4 | - | 4 | + |
| 5 | use Yii; | 5 | use Yii; |
| 6 | -use yii\data\ActiveDataProvider; | 6 | +use yii\base\Model; |
| 7 | +use yii\db\Query; | ||
| 7 | 8 | ||
| 8 | /** | 9 | /** |
| 9 | - * This is the model class for table "catalog". | ||
| 10 | - * | ||
| 11 | - * @property integer $id | ||
| 12 | - * @property integer $parent_id | ||
| 13 | - * @property string $cover | ||
| 14 | - * @property string $options | ||
| 15 | - * @property integer $status | ||
| 16 | - * @property integer $sort | 10 | + * Signup form |
| 17 | */ | 11 | */ |
| 18 | -class Catalog extends \yii\db\ActiveRecord | ||
| 19 | -{ | ||
| 20 | - /** | ||
| 21 | - * @inheritdoc | ||
| 22 | - */ | ||
| 23 | - public static function tableName() | ||
| 24 | - { | ||
| 25 | - return 'catalog'; | ||
| 26 | - } | ||
| 27 | - | 12 | +class Catalog extends Model |
| 13 | +{ | ||
| 28 | /** | 14 | /** |
| 29 | - * @inheritdoc | 15 | + * весь список терминов |
| 30 | */ | 16 | */ |
| 31 | - public function rules() | 17 | + static function get () |
| 32 | { | 18 | { |
| 33 | - return [ | ||
| 34 | - [['parent_id', 'status', 'sort'], 'integer'], | ||
| 35 | - [['cover'], 'string', 'max' => 32], | ||
| 36 | - ]; | 19 | + return yii::$app->db->createCommand(' |
| 20 | + SELECT | ||
| 21 | + termin_structure.termin_id, | ||
| 22 | + termin_structure.termin_pid, | ||
| 23 | + termin_lang.termin_title | ||
| 24 | + FROM termin_structure | ||
| 25 | + INNER JOIN termin_lang ON termin_lang.termin_id = termin_structure.termin_id | ||
| 26 | + AND termin_lang.lang_id = '.Yii::$app->params['lang_id'].' | ||
| 27 | + ORDER BY termin_structure.termin_id ASC, termin_structure.termin_pid ASC | ||
| 28 | + ')->queryAll(); | ||
| 37 | } | 29 | } |
| 38 | - | 30 | + |
| 39 | /** | 31 | /** |
| 40 | - * @inheritdoc | ||
| 41 | - */ | ||
| 42 | - public function attributeLabels() | ||
| 43 | - { | ||
| 44 | - return [ | ||
| 45 | - 'catalog_id' => Yii::t('app', 'ID'), | ||
| 46 | - 'parent_id' => Yii::t('app', 'Parent ID'), | ||
| 47 | - 'cover' => Yii::t('app', 'Cover'), | ||
| 48 | - 'status' => Yii::t('app', 'Status'), | ||
| 49 | - 'sort' => Yii::t('app', 'Sort'), | ||
| 50 | - ]; | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - /** | ||
| 54 | * Выполняет поиск по параметрам | 32 | * Выполняет поиск по параметрам |
| 55 | * @param array $param принимает [catalog_id, lang_id, return_one, return_field, show_all] | 33 | * @param array $param принимает [catalog_id, lang_id, return_one, return_field, show_all] |
| 56 | * @return array one | array all | string значение масива | 34 | * @return array one | array all | string значение масива |
| @@ -64,72 +42,117 @@ class Catalog extends \yii\db\ActiveRecord | @@ -64,72 +42,117 @@ class Catalog extends \yii\db\ActiveRecord | ||
| 64 | 'return_field' => false, | 42 | 'return_field' => false, |
| 65 | 'show_all' => false, | 43 | 'show_all' => false, |
| 66 | 'to_array' => true, | 44 | 'to_array' => true, |
| 67 | - )); | ||
| 68 | - | 45 | + )); |
| 46 | + | ||
| 69 | $model = new Catalog(); | 47 | $model = new Catalog(); |
| 70 | - | ||
| 71 | - $query = $model->find()->select('*'); | ||
| 72 | - | ||
| 73 | - $query->joinWith(['relationCatalogLang2']); | ||
| 74 | - | 48 | + |
| 49 | + $query = $model->find()->select('*'); | ||
| 50 | + | ||
| 51 | + $query->joinWith(['relationCatalogLang']); | ||
| 52 | + | ||
| 75 | $WHERE = array (); | 53 | $WHERE = array (); |
| 76 | - | ||
| 77 | - if ($params['catalog_id'] !== false) | 54 | + |
| 55 | + if ($params['catalog_id']) | ||
| 78 | { | 56 | { |
| 79 | $WHERE['catalog.catalog_id'] = $params['catalog_id']; | 57 | $WHERE['catalog.catalog_id'] = $params['catalog_id']; |
| 80 | } | 58 | } |
| 81 | - | ||
| 82 | - if ($params['lang_id'] !== false) | 59 | + |
| 60 | + if ($params['lang_id']) | ||
| 83 | { | 61 | { |
| 84 | $WHERE['catalog_i18n.lang_id'] = $params['lang_id']; | 62 | $WHERE['catalog_i18n.lang_id'] = $params['lang_id']; |
| 85 | } | 63 | } |
| 86 | - | 64 | + |
| 87 | if (! empty ($WHERE)) | 65 | if (! empty ($WHERE)) |
| 88 | - { | 66 | + { |
| 89 | $query->where($WHERE); | 67 | $query->where($WHERE); |
| 90 | } | 68 | } |
| 91 | - | ||
| 92 | - if ($params['to_array'] !== false) | 69 | + |
| 70 | + if ($params['to_array']) | ||
| 93 | { | 71 | { |
| 94 | $query = $query->asArray(); | 72 | $query = $query->asArray(); |
| 95 | } | 73 | } |
| 96 | - | ||
| 97 | - if ($params['return_one'] !== false || $params['return_field'] !== false) | 74 | + |
| 75 | + if ($params['return_one'] || $params['return_field']) | ||
| 76 | + { | ||
| 77 | + | ||
| 78 | + $result = $params['return_field'] ? $query->one($params['return_field']) : $query->one(); | ||
| 79 | + } | ||
| 80 | + else | ||
| 98 | { | 81 | { |
| 82 | + $result = $query->all(); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + return $result; | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + // =================== | ||
| 89 | + // ==== STRUCTURE ==== | ||
| 90 | + // =================== | ||
| 99 | 91 | ||
| 100 | - $result = $params['return_field'] !== false ? $query->one($params['return_field']) : $query->one(); | 92 | + var $mass = array (); |
| 93 | + | ||
| 94 | + public function build () | ||
| 95 | + { | ||
| 96 | + if ($this->mass = self::get ()) | ||
| 97 | + { | ||
| 98 | + return $this->getRecrusive (8); | ||
| 101 | } | 99 | } |
| 102 | - else | 100 | + } |
| 101 | + | ||
| 102 | + public function findChild ($id) | ||
| 103 | + { | ||
| 104 | + $mass = array (); | ||
| 105 | + | ||
| 106 | + foreach ($this->mass as $row) | ||
| 103 | { | 107 | { |
| 104 | - $result = $query->all(); | 108 | + if ($row['termin_pid'] == $id) |
| 109 | + { | ||
| 110 | + $mass[] = $row; | ||
| 111 | + } | ||
| 105 | } | 112 | } |
| 113 | + | ||
| 114 | + return $mass; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + public function getRecrusive ($menu_id) | ||
| 118 | + { | ||
| 119 | + $items = $this->findChild($menu_id); | ||
| 120 | + | ||
| 121 | + if (! empty ($items)) | ||
| 122 | + { | ||
| 123 | + echo '<ul>'; | ||
| 124 | + | ||
| 125 | + foreach ($items as $row) | ||
| 126 | + { | ||
| 127 | + echo '<li>'.$row['termin_title'].'</li>'; | ||
| 128 | + | ||
| 129 | + if ($row['termin_pid'] != 0) | ||
| 130 | + { | ||
| 131 | + $this->getRecrusive($row['termin_id']); | ||
| 132 | + } | ||
| 133 | + } | ||
| 106 | 134 | ||
| 107 | - return $result; | 135 | + echo '</ul>'; |
| 136 | + } | ||
| 137 | + | ||
| 108 | } | 138 | } |
| 139 | + | ||
| 140 | + // ===== | ||
| 109 | 141 | ||
| 110 | /** | 142 | /** |
| 111 | * @return \yii\db\ActiveQuery | 143 | * @return \yii\db\ActiveQuery |
| 112 | */ | 144 | */ |
| 113 | public function getRelationCatalogLangPlus() | 145 | public function getRelationCatalogLangPlus() |
| 114 | - { | ||
| 115 | - return $this->getRelationCatalogLang2()->where(['lang_id' => yii::$app->params['lang_id']]); | 146 | + { |
| 147 | + return $this->getRelationCatalogLang()->where(['lang_id' => yii::$app->params['lang_id']]); | ||
| 116 | } | 148 | } |
| 117 | - | 149 | + |
| 118 | /** | 150 | /** |
| 119 | * @return \yii\db\ActiveQuery | 151 | * @return \yii\db\ActiveQuery |
| 120 | */ | 152 | */ |
| 121 | - public function getRelationCatalogLang2() | 153 | + public function getRelationCatalogLang() |
| 122 | { | 154 | { |
| 123 | return $this->hasOne(CatalogLang::className(), ['catalog_id' => 'catalog_id']); | 155 | return $this->hasOne(CatalogLang::className(), ['catalog_id' => 'catalog_id']); |
| 124 | } | 156 | } |
| 125 | 157 | ||
| 126 | - public function getTitle() | ||
| 127 | - { | ||
| 128 | - return $this->relationCatalogLangPlus->title; | ||
| 129 | - } | ||
| 130 | - | ||
| 131 | - public function getParentTitle() | ||
| 132 | - { | ||
| 133 | - return $this->relationCatalogLangPlus->title; | ||
| 134 | - } | ||
| 135 | -} | 158 | +} |
| 136 | \ No newline at end of file | 159 | \ No newline at end of file |
common/models/CatalogLang.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace common\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | - | ||
| 7 | -/** | ||
| 8 | - * This is the model class for table "catalog_i18n". | ||
| 9 | - * | ||
| 10 | - * @property integer $catalog_id | ||
| 11 | - * @property integer $lang_id | ||
| 12 | - * @property string $title | ||
| 13 | - * @property string $alias | ||
| 14 | - * @property string $meta_title | ||
| 15 | - * @property string $meta_keywords | ||
| 16 | - * @property string $meta_description | ||
| 17 | - * @property string $full_alias | ||
| 18 | - */ | ||
| 19 | -class CatalogLang extends \yii\db\ActiveRecord | ||
| 20 | -{ | ||
| 21 | - /** | ||
| 22 | - * @inheritdoc | ||
| 23 | - */ | ||
| 24 | - public static function tableName() | ||
| 25 | - { | ||
| 26 | - return 'catalog_i18n'; | ||
| 27 | - } | ||
| 28 | - | ||
| 29 | - /** | ||
| 30 | - * @inheritdoc | ||
| 31 | - */ | ||
| 32 | - public function rules() | ||
| 33 | - { | ||
| 34 | - return [ | ||
| 35 | - [['catalog_id', 'lang_id', 'title', 'alias'], 'required'], | ||
| 36 | - [['catalog_id', 'lang_id'], 'integer'], | ||
| 37 | - [['title'], 'string', 'max' => 1024], | ||
| 38 | - [['alias'], 'string', 'max' => 128], | ||
| 39 | - [['meta_title', 'meta_keywords', 'meta_description', 'full_alias'], 'string', 'max' => 255], | ||
| 40 | - [['alias', 'lang_id'], 'unique', 'targetAttribute' => ['alias', 'lang_id'], 'message' => 'The combination of Lang ID and Alias has already been taken.'] | ||
| 41 | - ]; | ||
| 42 | - } | ||
| 43 | - | ||
| 44 | - /** | ||
| 45 | - * @inheritdoc | ||
| 46 | - */ | ||
| 47 | - public function attributeLabels() | ||
| 48 | - { | ||
| 49 | - return [ | ||
| 50 | - 'catalog_id' => Yii::t('app', 'catalog_id'), | ||
| 51 | - 'lang_id' => Yii::t('app', 'Lang ID'), | ||
| 52 | - 'title' => Yii::t('app', 'Title'), | ||
| 53 | - 'alias' => Yii::t('app', 'Alias'), | ||
| 54 | - 'meta_title' => Yii::t('app', 'Meta Title'), | ||
| 55 | - 'meta_keywords' => Yii::t('app', 'Meta Keywords'), | ||
| 56 | - 'meta_description' => Yii::t('app', 'Meta Description'), | ||
| 57 | - 'full_alias' => Yii::t('app', 'Full Alias'), | ||
| 58 | - ]; | ||
| 59 | - } | ||
| 60 | -} |
common/models/Menu.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace common\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | - | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * This is the model class for table "menu". | ||
| 10 | - * | ||
| 11 | - * @property integer $menu_id | ||
| 12 | - * @property integer $menu_pid | ||
| 13 | - * @property integer $menu_lft | ||
| 14 | - * @property integer $menu_rgt | ||
| 15 | - * @property integer $termin_id | ||
| 16 | - * @property integer $show | ||
| 17 | - * @property integer $sortorder | ||
| 18 | - */ | ||
| 19 | -class Menu extends \yii\db\ActiveRecord | ||
| 20 | -{ | ||
| 21 | - public function getMenuList ($location_name) | ||
| 22 | - { | ||
| 23 | - return yii::$app->db->createCommand(' | ||
| 24 | - SELECT | ||
| 25 | - menu.menu_id, menu.menu_pid, menu.level, | ||
| 26 | - termin_lang.termin_title, termin_lang.termin_alias | ||
| 27 | - FROM menu | ||
| 28 | - INNER JOIN menu_location ON menu_location.menu_location_id = menu.menu_location_id | ||
| 29 | - AND menu_location.menu_location_name = \''.$location_name.'\' | ||
| 30 | - INNER JOIN termin ON termin.termin_id = menu.termin_id | ||
| 31 | - INNER JOIN termin_lang ON termin_lang.termin_id = menu.termin_id | ||
| 32 | - AND termin_lang.lang_id = '.Yii::$app->params['lang_id'].' | ||
| 33 | - ORDER BY menu.level ASC, menu.sortorder ASC | ||
| 34 | - ')->queryAll(); | ||
| 35 | -/* | ||
| 36 | - return $this->find() | ||
| 37 | - ->selectOption('termin_lang.termin_title') | ||
| 38 | - ->from('menu') | ||
| 39 | - ->join( | ||
| 40 | - 'INNER JOIN', | ||
| 41 | - 'termin_lang.termin_id = menu.termin_id', | ||
| 42 | - ['lang_id' => yii::$app->params['lang_id']]) | ||
| 43 | - ->all(); | ||
| 44 | -*/ | ||
| 45 | - } | ||
| 46 | - | ||
| 47 | - // ==== YII ==== | ||
| 48 | - | ||
| 49 | - /** | ||
| 50 | - * @inheritdoc | ||
| 51 | - */ | ||
| 52 | - public static function tableName() | ||
| 53 | - { | ||
| 54 | - return 'menu'; | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - /** | ||
| 58 | - * @inheritdoc | ||
| 59 | - */ | ||
| 60 | - public function rules() | ||
| 61 | - { | ||
| 62 | - return [ | ||
| 63 | - [['menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'safe'], | ||
| 64 | - [['menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'integer'] | ||
| 65 | - ]; | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - /** | ||
| 69 | - * @inheritdoc | ||
| 70 | - */ | ||
| 71 | - public function attributeLabels() | ||
| 72 | - { | ||
| 73 | - return [ | ||
| 74 | - 'menu_id' => Yii::t('app', 'Menu ID'), | ||
| 75 | - 'menu_pid' => Yii::t('app', 'Menu Pid'), | ||
| 76 | - 'menu_lft' => Yii::t('app', 'Menu Lft'), | ||
| 77 | - 'menu_rgt' => Yii::t('app', 'Menu Rgt'), | ||
| 78 | - 'termin_id' => Yii::t('app', 'Termin ID'), | ||
| 79 | - 'show' => Yii::t('app', 'Show'), | ||
| 80 | - 'sortorder' => Yii::t('app', 'Sortorder'), | ||
| 81 | - ]; | ||
| 82 | - } | ||
| 83 | - | ||
| 84 | -} |
common/models/MenuTree.php
common/models/ShopCategory.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace common\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use yii\base\Model; | ||
| 7 | -use yii\db\Query; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * Signup form | ||
| 11 | - */ | ||
| 12 | -class ShopCategory extends Model | ||
| 13 | -{ | ||
| 14 | - /** | ||
| 15 | - * весь список терминов | ||
| 16 | - */ | ||
| 17 | - static function get () | ||
| 18 | - { | ||
| 19 | - return yii::$app->db->createCommand(' | ||
| 20 | - SELECT | ||
| 21 | - termin_structure.termin_id, | ||
| 22 | - termin_structure.termin_pid, | ||
| 23 | - termin_lang.termin_title | ||
| 24 | - FROM termin_structure | ||
| 25 | - INNER JOIN termin_lang ON termin_lang.termin_id = termin_structure.termin_id | ||
| 26 | - AND termin_lang.lang_id = '.Yii::$app->params['lang_id'].' | ||
| 27 | - ORDER BY termin_structure.termin_id ASC, termin_structure.termin_pid ASC | ||
| 28 | - ')->queryAll(); | ||
| 29 | - } | ||
| 30 | - | ||
| 31 | - // =================== | ||
| 32 | - // ==== STRUCTURE ==== | ||
| 33 | - // =================== | ||
| 34 | - | ||
| 35 | - var $mass = array (); | ||
| 36 | - | ||
| 37 | - public function build () | ||
| 38 | - { | ||
| 39 | - if ($this->mass = self::get ()) | ||
| 40 | - { | ||
| 41 | - return $this->getRecrusive (8); | ||
| 42 | - } | ||
| 43 | - } | ||
| 44 | - | ||
| 45 | - public function findChild ($id) | ||
| 46 | - { | ||
| 47 | - $mass = array (); | ||
| 48 | - | ||
| 49 | - foreach ($this->mass as $row) | ||
| 50 | - { | ||
| 51 | - if ($row['termin_pid'] == $id) | ||
| 52 | - { | ||
| 53 | - $mass[] = $row; | ||
| 54 | - } | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - return $mass; | ||
| 58 | - } | ||
| 59 | - | ||
| 60 | - public function getRecrusive ($menu_id) | ||
| 61 | - { | ||
| 62 | - $items = $this->findChild($menu_id); | ||
| 63 | - | ||
| 64 | - if (! empty ($items)) | ||
| 65 | - { | ||
| 66 | - echo '<ul>'; | ||
| 67 | - | ||
| 68 | - foreach ($items as $row) | ||
| 69 | - { | ||
| 70 | - echo '<li>'.$row['termin_title'].'</li>'; | ||
| 71 | - | ||
| 72 | - if ($row['termin_pid'] != 0) | ||
| 73 | - { | ||
| 74 | - $this->getRecrusive($row['termin_id']); | ||
| 75 | - } | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - echo '</ul>'; | ||
| 79 | - } | ||
| 80 | - | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - // ===== | ||
| 84 | - | ||
| 85 | -} |
common/models/Termin.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -namespace common\models; | ||
| 4 | - | ||
| 5 | -use Yii; | ||
| 6 | -use common\models\SqlQueryBuilder; | ||
| 7 | - | ||
| 8 | -/** | ||
| 9 | - * This is the model class for table "termin". | ||
| 10 | - * | ||
| 11 | - * @property integer $termin_id | ||
| 12 | - * @property integer $termin_type_id | ||
| 13 | - * @property integer $page_id | ||
| 14 | - */ | ||
| 15 | -class Termin extends \yii\db\ActiveRecord | ||
| 16 | -{ | ||
| 17 | - /** | ||
| 18 | - * @inheritdoc | ||
| 19 | - */ | ||
| 20 | - public static function tableName() | ||
| 21 | - { | ||
| 22 | - return 'termin'; | ||
| 23 | - } | ||
| 24 | - | ||
| 25 | - /** | ||
| 26 | - * @inheritdoc | ||
| 27 | - */ | ||
| 28 | - public function rules() | ||
| 29 | - { | ||
| 30 | - return [ | ||
| 31 | - [['termin_type_id', 'page_id'], 'integer'] | ||
| 32 | - ]; | ||
| 33 | - } | ||
| 34 | - | ||
| 35 | - /** | ||
| 36 | - * @inheritdoc | ||
| 37 | - */ | ||
| 38 | - public function attributeLabels() | ||
| 39 | - { | ||
| 40 | - return [ | ||
| 41 | - 'termin_id' => 'Termin ID', | ||
| 42 | - 'termin_type_id' => 'Termin Type ID', | ||
| 43 | - 'page_id' => 'Page ID', | ||
| 44 | - ]; | ||
| 45 | - } | ||
| 46 | - | ||
| 47 | - // ====================== | ||
| 48 | - // ==== MY CASTYL :D ==== | ||
| 49 | - // ====================== | ||
| 50 | - | ||
| 51 | - // ==== Common ==== | ||
| 52 | - | ||
| 53 | - /** | ||
| 54 | - * находит термин и перевод (не учитывает таблицу relation) | ||
| 55 | - * @param array $array | ||
| 56 | - * @return array | ||
| 57 | - */ | ||
| 58 | - static function findTemin (array $array) | ||
| 59 | - { | ||
| 60 | - Tools::ifNotExist ($array, [ | ||
| 61 | - 'return_one' => true, | ||
| 62 | - ]); | ||
| 63 | - | ||
| 64 | - $query = new SqlQueryBuilder(); | ||
| 65 | - $query->from('termin_lang'); | ||
| 66 | - $query->innerJoin( | ||
| 67 | - 'termin', NULL, ' | ||
| 68 | - `termin`.termin_id = `termin_lang`.termin_id | ||
| 69 | - AND `termin`.type = "'.$array['type'].'" | ||
| 70 | - '); | ||
| 71 | - | ||
| 72 | - if (isset ($array['lang_id'])) | ||
| 73 | - { | ||
| 74 | - $query->where('`termin_lang`.lang_id = '.(int)$array['lang_id']); | ||
| 75 | - } | ||
| 76 | - | ||
| 77 | - if (isset ($array['termin_title'])) | ||
| 78 | - { | ||
| 79 | - $query->where('`termin_lang`.termin_title = "'.$array['termin_title'].'"'); | ||
| 80 | - } | ||
| 81 | - | ||
| 82 | - // sql | ||
| 83 | - $result = yii::$app->db->createCommand($query->__toString()); | ||
| 84 | - | ||
| 85 | - return $array['return_one'] !== false ? $result->queryOne() : $result->queryAll(); | ||
| 86 | - } | ||
| 87 | - | ||
| 88 | - /** | ||
| 89 | - * Создает термин, перевод и связь | ||
| 90 | - * @param array $array | ||
| 91 | - * @return int termin_id | ||
| 92 | - */ | ||
| 93 | - static function add (array $array) | ||
| 94 | - { | ||
| 95 | - // термин | ||
| 96 | - $array['termin_id'] = self::addTermin ($array); | ||
| 97 | - | ||
| 98 | - // термин перевод | ||
| 99 | - self::addTerminLang ($array); | ||
| 100 | - | ||
| 101 | - // связи | ||
| 102 | - self::addTerminRelation ($array); | ||
| 103 | - | ||
| 104 | - return $array['termin_id']; | ||
| 105 | - } | ||
| 106 | - | ||
| 107 | - /** | ||
| 108 | - * Ищет и добавляет того чего нет (термин, перевод, relation) <br/> | ||
| 109 | - * В сновном заточен под импорт | ||
| 110 | - * @param array $basic | ||
| 111 | - * @return int termin_id | ||
| 112 | - */ | ||
| 113 | - static function addIfNotExists (array $basic) | ||
| 114 | - { | ||
| 115 | - $termin_id = 0; | ||
| 116 | - | ||
| 117 | - // категория | ||
| 118 | - $termin = Termin::findTemin ($basic); | ||
| 119 | - if (! empty ($termin)) | ||
| 120 | - { | ||
| 121 | - // массив связи | ||
| 122 | - $add = [ | ||
| 123 | - 'termin_id' => $termin['termin_id'], | ||
| 124 | - 'termin_pid' => $basic['termin_pid'], | ||
| 125 | - ]; | ||
| 126 | - | ||
| 127 | - // есть ли связь | ||
| 128 | - $relation = Termin::findRelation ($add); | ||
| 129 | - if (empty ($relation)) | ||
| 130 | - { | ||
| 131 | - // добавляем | ||
| 132 | - Termin::addTerminRelation ($add); | ||
| 133 | - } | ||
| 134 | - | ||
| 135 | - $termin_id = $termin['termin_id']; | ||
| 136 | - } | ||
| 137 | - else | ||
| 138 | - { | ||
| 139 | - // добавляем | ||
| 140 | - $termin_id = Termin::add ($basic); | ||
| 141 | - } | ||
| 142 | - | ||
| 143 | - return $termin_id; | ||
| 144 | - } | ||
| 145 | - | ||
| 146 | - // ==== Termin === | ||
| 147 | - | ||
| 148 | - static function addTermin (array $array) | ||
| 149 | - { | ||
| 150 | - Tools::ifNotExist ($array, [ | ||
| 151 | - 'type' => 'H', | ||
| 152 | - 'page_id' => 0, | ||
| 153 | - ]); | ||
| 154 | - | ||
| 155 | - Yii::$app->db->createCommand()->insert( | ||
| 156 | - 'termin', [ | ||
| 157 | - 'type' => $array['type'], | ||
| 158 | - 'page_id' => (int)$array['page_id'], | ||
| 159 | - ] | ||
| 160 | - )->execute(); | ||
| 161 | - | ||
| 162 | - return Yii::$app->db->getLastInsertID(); | ||
| 163 | - } | ||
| 164 | - | ||
| 165 | - // ==== Termin Lang ==== | ||
| 166 | - | ||
| 167 | - static function addTerminLang (array $array) | ||
| 168 | - { | ||
| 169 | - Tools::ifNotExist ($array, [ | ||
| 170 | - 'template_id' => 0, | ||
| 171 | - 'termin_alias' => strtolower (Tools::translit ($array['termin_title'])), | ||
| 172 | - ]); | ||
| 173 | - | ||
| 174 | - Yii::$app->db->createCommand()->insert( | ||
| 175 | - 'termin_lang', [ | ||
| 176 | - 'termin_id' => $array['termin_id'], | ||
| 177 | - 'termin_title' => $array['termin_title'], | ||
| 178 | - 'termin_alias' => $array['termin_alias'], | ||
| 179 | - 'template_id' => (int)$array['template_id'], | ||
| 180 | - 'lang_id' => (int)$array['lang_id'], | ||
| 181 | - ] | ||
| 182 | - )->execute(); | ||
| 183 | - } | ||
| 184 | - | ||
| 185 | - // ==== Termin Relation ==== | ||
| 186 | - | ||
| 187 | - static function findRelation (array $array) | ||
| 188 | - { | ||
| 189 | - $query = new SqlQueryBuilder(); | ||
| 190 | - $query->from('termin_relation'); | ||
| 191 | - | ||
| 192 | - if (isset ($array['termin_id'])) | ||
| 193 | - { | ||
| 194 | - $query->where('termin_id = "'.$array['termin_id'].'"'); | ||
| 195 | - } | ||
| 196 | - | ||
| 197 | - if (isset ($array['termin_pid'])) | ||
| 198 | - { | ||
| 199 | - $query->where('termin_pid = "'.$array['termin_pid'].'"'); | ||
| 200 | - } | ||
| 201 | - | ||
| 202 | - // sql | ||
| 203 | - $result = yii::$app->db->createCommand($query->__toString()); | ||
| 204 | - | ||
| 205 | - return isset ($array['return_one']) ? $result->queryOne() : $result->queryAll(); | ||
| 206 | - } | ||
| 207 | - | ||
| 208 | - static function addTerminRelation (array $array) | ||
| 209 | - { | ||
| 210 | - Tools::ifNotExist ($array, [ | ||
| 211 | - 'termin_pid' => 0, | ||
| 212 | - 'is_default' => 1, | ||
| 213 | - ]); | ||
| 214 | - | ||
| 215 | - Yii::$app->db->createCommand()->insert( | ||
| 216 | - 'termin_relation', [ | ||
| 217 | - 'termin_id' => (int)$array['termin_id'], | ||
| 218 | - 'termin_pid' => (int)$array['termin_pid'], | ||
| 219 | - 'is_default' => (int)$array['is_default'], | ||
| 220 | - ] | ||
| 221 | - )->execute(); | ||
| 222 | - | ||
| 223 | - return Yii::$app->db->getLastInsertID(); | ||
| 224 | - } | ||
| 225 | -} |
common/translation/ru/action.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -return [ | ||
| 4 | - 'create' => 'Добавить', | ||
| 5 | - 'edit' => 'Изменить', | ||
| 6 | - 'update' => 'Обновить', | ||
| 7 | - 'del' => 'Удалить', | ||
| 8 | - 'hide'=> 'Скрыть', | ||
| 9 | - 'copy' => 'Копировать', | ||
| 10 | - 'view' => 'Посмотреть', | ||
| 11 | - 'show' => 'Показать', | ||
| 12 | -]; | ||
| 13 | \ No newline at end of file | 0 | \ No newline at end of file |
common/translation/ru/app.php
| 1 | <?php | 1 | <?php |
| 2 | + | ||
| 2 | return [ | 3 | return [ |
| 4 | + | ||
| 5 | + // Ярик | ||
| 3 | 'Create' => 'Добавить', | 6 | 'Create' => 'Добавить', |
| 4 | 'Settings' => 'Настройки', | 7 | 'Settings' => 'Настройки', |
| 5 | 'languages' => 'Языки', | 8 | 'languages' => 'Языки', |
| @@ -58,4 +61,26 @@ return [ | @@ -58,4 +61,26 @@ return [ | ||
| 58 | 'Select parent' => 'Выберать родителя', | 61 | 'Select parent' => 'Выберать родителя', |
| 59 | 'Blog' => 'Блог', | 62 | 'Blog' => 'Блог', |
| 60 | 'Static pages' => 'Статические страницы', | 63 | 'Static pages' => 'Статические страницы', |
| 64 | + | ||
| 65 | + // Вова | ||
| 66 | + 'page' => 'Страница', | ||
| 67 | + 'date_add' => 'Дата добавления', | ||
| 68 | + 'template' => 'Шаблон', | ||
| 69 | + 'image' => 'Картинка', | ||
| 70 | + 'title' => 'Заголовок', | ||
| 71 | + 'meta_title' => 'Meta Title', | ||
| 72 | + 'meta_description' => 'Meta Description', | ||
| 73 | + 'text' => 'Текст', | ||
| 74 | + 'page_alias' => 'alias', | ||
| 75 | + 'lang_id' => 'ID языка', | ||
| 76 | + 'common' => 'Общее', | ||
| 77 | + 'lang' => 'Языковые переменные', | ||
| 78 | + 'termin' => 'Термин', | ||
| 79 | + 'related' => 'Связанные', | ||
| 80 | + 'menu' => 'Меню', | ||
| 81 | + 'location' => 'Разположение', | ||
| 82 | + 'book' => 'Справочник', | ||
| 83 | + | ||
| 84 | + // Дима | ||
| 85 | + | ||
| 61 | ]; | 86 | ]; |
| 62 | \ No newline at end of file | 87 | \ No newline at end of file |
common/translation/ru/field.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -return [ | ||
| 4 | - 'page' => 'Страница', | ||
| 5 | - 'date_add' => 'Дата добавления', | ||
| 6 | - 'template' => 'Шаблон', | ||
| 7 | - 'image' => 'Картинка', | ||
| 8 | - 'title' => 'Заголовок', | ||
| 9 | - 'meta_title' => 'Meta Title', | ||
| 10 | - 'meta_description' => 'Meta Description', | ||
| 11 | - 'text' => 'Текст', | ||
| 12 | - 'page_alias' => 'alias', | ||
| 13 | - 'lang_id' => 'ID языка', | ||
| 14 | - 'common' => 'Общее', | ||
| 15 | - 'lang' => 'Языковые переменные', | ||
| 16 | -]; | ||
| 17 | \ No newline at end of file | 0 | \ No newline at end of file |
common/translation/uk/action.php deleted
common/translation/uk/field.php deleted
| 1 | -<?php | ||
| 2 | - | ||
| 3 | -return [ | ||
| 4 | - 'page' => 'Сторінка', | ||
| 5 | - 'date_add' => 'Дата додання', | ||
| 6 | - 'template' => 'Шаблон', | ||
| 7 | - 'image' => 'Картинка', | ||
| 8 | - 'title' => 'Заголовок', | ||
| 9 | - 'meta_title' => 'Meta Title', | ||
| 10 | - 'meta_description' => 'Meta Description', | ||
| 11 | - 'text' => 'Текст', | ||
| 12 | - 'page_alias' => 'alias', | ||
| 13 | - 'lang_id' => 'ID мови', | ||
| 14 | - 'common' => 'Загальне', | ||
| 15 | - 'lang' => 'Мовні змінні', | ||
| 16 | -]; |
frontend/views/catalog/index.php