Commit 52190232b988d3a26c9b2f67b81d1f1ffdf1f24d
1 parent
c5a6465c
-Blog almost done
Showing
40 changed files
with
1275 additions
and
506 deletions
Show diff stats
backend/views/layouts/main-sidebar.php
... | ... | @@ -122,7 +122,7 @@ use yii\widgets\Menu; |
122 | 122 | ], |
123 | 123 | [ |
124 | 124 | 'label' => 'Блог', |
125 | - 'template'=>'<a href="{url}"> <i class="glyphicon glyphicon-picture"></i> <span>{label}</span></a>', | |
125 | + 'template'=>'<a href="{url}"> <i class="glyphicon glyphicon-edit"></i> <span>{label}</span></a>', | |
126 | 126 | 'options' => ['class'=>\Yii::$app->user->can('blog') ? '' :'hide'], |
127 | 127 | 'active' => preg_match('/^blog.*$/', $this->context->id) ? true : false, |
128 | 128 | 'items' => [ |
... | ... | @@ -130,16 +130,19 @@ use yii\widgets\Menu; |
130 | 130 | 'label' => 'Статьи', |
131 | 131 | 'url' => ['/blog/blog-article'], |
132 | 132 | 'options' => ['class'=>\Yii::$app->user->can('blog') ? '' :'hide'], |
133 | + 'active' => preg_match('/.*blog-article.*$/', $this->context->id), | |
133 | 134 | ], |
134 | 135 | [ |
135 | 136 | 'label' => 'Рубрики', |
136 | 137 | 'url' => ['/blog/blog-category'], |
137 | 138 | 'options' => ['class'=>\Yii::$app->user->can('blog') ? '' :'hide'], |
139 | + 'active' => preg_match('/.*blog-category.*$/', $this->context->id), | |
138 | 140 | ], |
139 | 141 | [ |
140 | 142 | 'label' => 'Тэги', |
141 | 143 | 'url' => ['/blog/blog-tag'], |
142 | 144 | 'options' => ['class'=>\Yii::$app->user->can('blog') ? '' :'hide'], |
145 | + 'active' => preg_match('/.*blog-tag.*$/', $this->context->id), | |
143 | 146 | ], |
144 | 147 | ] |
145 | 148 | ], | ... | ... |
common/config/main.php
... | ... | @@ -43,6 +43,12 @@ |
43 | 43 | 'master' => NULL, |
44 | 44 | ], |
45 | 45 | ], |
46 | + 'list' => [ | |
47 | + 'resize' => [ | |
48 | + 'width' => 360, | |
49 | + 'height' => 360, | |
50 | + ], | |
51 | + ], | |
46 | 52 | ], |
47 | 53 | ], |
48 | 54 | 'basket' => [ |
... | ... | @@ -53,8 +59,8 @@ |
53 | 59 | 'artbox-comment' => [ |
54 | 60 | 'class' => 'common\modules\comment\Module', |
55 | 61 | ], |
56 | - 'blog' => [ | |
57 | - 'class' => 'common\modules\blog\Module' | |
62 | + 'blog' => [ | |
63 | + 'class' => 'common\modules\blog\Module', | |
58 | 64 | ], |
59 | 65 | ], |
60 | 66 | ]; | ... | ... |
common/modules/blog/controllers/BlogArticleController.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -namespace common\modules\blog\controllers; | |
4 | - | |
5 | -use Yii; | |
6 | -use common\modules\blog\models\BlogArticle; | |
7 | -use common\modules\blog\models\BlogArticleSearch; | |
8 | -use yii\web\Controller; | |
9 | -use yii\web\NotFoundHttpException; | |
10 | -use yii\filters\VerbFilter; | |
11 | - | |
12 | -/** | |
13 | - * BlogArticleController implements the CRUD actions for BlogArticle model. | |
14 | - */ | |
15 | -class BlogArticleController extends Controller | |
16 | -{ | |
2 | + | |
3 | + namespace common\modules\blog\controllers; | |
4 | + | |
5 | + use common\modules\blog\models\BlogCategory; | |
6 | + use common\modules\blog\models\BlogCategoryLang; | |
7 | + use common\modules\blog\models\BlogTag; | |
8 | + use Yii; | |
9 | + use common\modules\blog\models\BlogArticle; | |
10 | + use common\modules\blog\models\BlogArticleSearch; | |
11 | + use yii\helpers\ArrayHelper; | |
12 | + use yii\helpers\VarDumper; | |
13 | + use yii\web\Controller; | |
14 | + use yii\web\NotFoundHttpException; | |
15 | + use yii\filters\VerbFilter; | |
16 | + | |
17 | 17 | /** |
18 | - * @inheritdoc | |
18 | + * BlogArticleController implements the CRUD actions for BlogArticle model. | |
19 | 19 | */ |
20 | - public function behaviors() | |
20 | + class BlogArticleController extends Controller | |
21 | 21 | { |
22 | - return [ | |
23 | - 'verbs' => [ | |
24 | - 'class' => VerbFilter::className(), | |
25 | - 'actions' => [ | |
26 | - 'delete' => ['POST'], | |
22 | + /** | |
23 | + * @inheritdoc | |
24 | + */ | |
25 | + public function behaviors() | |
26 | + { | |
27 | + return [ | |
28 | + 'verbs' => [ | |
29 | + 'class' => VerbFilter::className(), | |
30 | + 'actions' => [ | |
31 | + 'delete' => [ 'POST' ], | |
32 | + ], | |
27 | 33 | ], |
28 | - ], | |
29 | - ]; | |
30 | - } | |
31 | - | |
32 | - /** | |
33 | - * Lists all BlogArticle models. | |
34 | - * @return mixed | |
35 | - */ | |
36 | - public function actionIndex() | |
37 | - { | |
38 | - $searchModel = new BlogArticleSearch(); | |
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 BlogArticle 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 BlogArticle 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 BlogArticle(); | |
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 | - ]); | |
34 | + ]; | |
74 | 35 | } |
75 | - } | |
76 | - | |
77 | - /** | |
78 | - * Updates an existing BlogArticle 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 | - ]); | |
36 | + | |
37 | + /** | |
38 | + * Lists all BlogArticle models. | |
39 | + * | |
40 | + * @return mixed | |
41 | + */ | |
42 | + public function actionIndex() | |
43 | + { | |
44 | + $searchModel = new BlogArticleSearch(); | |
45 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |
46 | + | |
47 | + return $this->render( | |
48 | + 'index', | |
49 | + [ | |
50 | + 'searchModel' => $searchModel, | |
51 | + 'dataProvider' => $dataProvider, | |
52 | + ] | |
53 | + ); | |
93 | 54 | } |
94 | - } | |
95 | - | |
96 | - /** | |
97 | - * Deletes an existing BlogArticle 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 BlogArticle 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 BlogArticle the loaded model | |
114 | - * @throws NotFoundHttpException if the model cannot be found | |
115 | - */ | |
116 | - protected function findModel($id) | |
117 | - { | |
118 | - if (($model = BlogArticle::findOne($id)) !== null) { | |
119 | - return $model; | |
120 | - } else { | |
121 | - throw new NotFoundHttpException('The requested page does not exist.'); | |
55 | + | |
56 | + /** | |
57 | + * Displays a single BlogArticle model. | |
58 | + * | |
59 | + * @param integer $id | |
60 | + * | |
61 | + * @return mixed | |
62 | + */ | |
63 | + public function actionView($id) | |
64 | + { | |
65 | + return $this->render( | |
66 | + 'view', | |
67 | + [ | |
68 | + 'model' => $this->findModel($id), | |
69 | + ] | |
70 | + ); | |
71 | + } | |
72 | + | |
73 | + /** | |
74 | + * Creates a new BlogArticle model. | |
75 | + * If creation is successful, the browser will be redirected to the 'view' page. | |
76 | + * | |
77 | + * @return mixed | |
78 | + */ | |
79 | + public function actionCreate() | |
80 | + { | |
81 | + $model = new BlogArticle(); | |
82 | + $model->generateLangs(); | |
83 | + | |
84 | + $categories = ArrayHelper::map( | |
85 | + BlogCategory::find() | |
86 | + ->joinWith('lang') | |
87 | + ->all(), | |
88 | + 'id', | |
89 | + 'lang.title' | |
90 | + ); | |
91 | + | |
92 | + $tags = ArrayHelper::map( | |
93 | + BlogTag::find() | |
94 | + ->joinWith('lang') | |
95 | + ->all(), | |
96 | + 'id', | |
97 | + 'lang.label' | |
98 | + ); | |
99 | + | |
100 | + if ($model->load(Yii::$app->request->post())) { | |
101 | + $model->loadLangs(\Yii::$app->request); | |
102 | + if ($model->save() && $model->transactionStatus) { | |
103 | + | |
104 | + if (!empty( \Yii::$app->request->post('BlogArticle')[ 'blogCategories' ] )) { | |
105 | + foreach (\Yii::$app->request->post('BlogArticle')[ 'blogCategories' ] as $item) { | |
106 | + if ($category = BlogCategory::findOne($item)) { | |
107 | + $model->link('blogCategories', $category); | |
108 | + } | |
109 | + } | |
110 | + } | |
111 | + | |
112 | + if (!empty( \Yii::$app->request->post('BlogArticle')[ 'blogTags' ] )) { | |
113 | + foreach (\Yii::$app->request->post('BlogArticle')[ 'blogTags' ] as $item) { | |
114 | + if ($category = BlogTag::findOne($item)) { | |
115 | + $model->link('blogTags', $category); | |
116 | + } | |
117 | + } | |
118 | + } | |
119 | + | |
120 | + return $this->redirect( | |
121 | + [ | |
122 | + 'view', | |
123 | + 'id' => $model->id, | |
124 | + ] | |
125 | + ); | |
126 | + } | |
127 | + } | |
128 | + return $this->render( | |
129 | + 'create', | |
130 | + [ | |
131 | + 'model' => $model, | |
132 | + 'modelLangs' => $model->modelLangs, | |
133 | + 'categories' => $categories, | |
134 | + 'tags' => $tags, | |
135 | + ] | |
136 | + ); | |
137 | + | |
138 | + } | |
139 | + | |
140 | + /** | |
141 | + * Updates an existing BlogArticle model. | |
142 | + * If update is successful, the browser will be redirected to the 'view' page. | |
143 | + * | |
144 | + * @param integer $id | |
145 | + * | |
146 | + * @return mixed | |
147 | + */ | |
148 | + public function actionUpdate($id) | |
149 | + { | |
150 | + $model = $this->findModel($id); | |
151 | + $model->generateLangs(); | |
152 | + | |
153 | + $categories = ArrayHelper::map( | |
154 | + BlogCategory::find() | |
155 | + ->joinWith('lang') | |
156 | + ->all(), | |
157 | + 'id', | |
158 | + 'lang.title' | |
159 | + ); | |
160 | + | |
161 | + $tags = ArrayHelper::map( | |
162 | + BlogTag::find() | |
163 | + ->joinWith('lang') | |
164 | + ->all(), | |
165 | + 'id', | |
166 | + 'lang.label' | |
167 | + ); | |
168 | + | |
169 | + if ($model->load(Yii::$app->request->post())) { | |
170 | + $model->loadLangs(\Yii::$app->request); | |
171 | + if ($model->save() && $model->transactionStatus) { | |
172 | + | |
173 | + if (!empty( \Yii::$app->request->post('BlogArticle')[ 'blogCategories' ] )) { | |
174 | + $model->unlinkAll('blogCategories', true); | |
175 | + foreach (\Yii::$app->request->post('BlogArticle')[ 'blogCategories' ] as $item) { | |
176 | + if ($category = BlogCategory::findOne($item)) { | |
177 | + $model->link('blogCategories', $category); | |
178 | + } | |
179 | + } | |
180 | + } | |
181 | + | |
182 | + if (!empty( \Yii::$app->request->post('BlogArticle')[ 'blogTags' ] )) { | |
183 | + $model->unlinkAll('blogTags', true); | |
184 | + foreach (\Yii::$app->request->post('BlogArticle')[ 'blogTags' ] as $item) { | |
185 | + if ($category = BlogTag::findOne($item)) { | |
186 | + $model->link('blogTags', $category); | |
187 | + } | |
188 | + } | |
189 | + } | |
190 | + | |
191 | + return $this->redirect( | |
192 | + [ | |
193 | + 'view', | |
194 | + 'id' => $model->id, | |
195 | + ] | |
196 | + ); | |
197 | + } | |
198 | + } | |
199 | + return $this->render( | |
200 | + 'update', | |
201 | + [ | |
202 | + 'model' => $model, | |
203 | + 'modelLangs' => $model->modelLangs, | |
204 | + 'categories' => $categories, | |
205 | + 'tags' => $tags, | |
206 | + ] | |
207 | + ); | |
208 | + | |
209 | + } | |
210 | + | |
211 | + /** | |
212 | + * Deletes an existing BlogArticle model. | |
213 | + * If deletion is successful, the browser will be redirected to the 'index' page. | |
214 | + * | |
215 | + * @param integer $id | |
216 | + * | |
217 | + * @return mixed | |
218 | + */ | |
219 | + public function actionDelete($id) | |
220 | + { | |
221 | + $this->findModel($id) | |
222 | + ->delete(); | |
223 | + | |
224 | + return $this->redirect([ 'index' ]); | |
225 | + } | |
226 | + | |
227 | + /** | |
228 | + * Finds the BlogArticle model based on its primary key value. | |
229 | + * If the model is not found, a 404 HTTP exception will be thrown. | |
230 | + * | |
231 | + * @param integer $id | |
232 | + * | |
233 | + * @return BlogArticle the loaded model | |
234 | + * @throws NotFoundHttpException if the model cannot be found | |
235 | + */ | |
236 | + protected function findModel($id) | |
237 | + { | |
238 | + if (( $model = BlogArticle::findOne($id) ) !== NULL) { | |
239 | + return $model; | |
240 | + } else { | |
241 | + throw new NotFoundHttpException('The requested page does not exist.'); | |
242 | + } | |
122 | 243 | } |
123 | 244 | } |
124 | -} | ... | ... |
common/modules/blog/controllers/BlogCategoryController.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -namespace common\modules\blog\controllers; | |
4 | - | |
5 | -use Yii; | |
6 | -use common\modules\blog\models\BlogCategory; | |
7 | -use common\modules\blog\models\BlogCategorySearch; | |
8 | -use yii\web\Controller; | |
9 | -use yii\web\NotFoundHttpException; | |
10 | -use yii\filters\VerbFilter; | |
11 | - | |
12 | -/** | |
13 | - * BlogCategoryController implements the CRUD actions for BlogCategory model. | |
14 | - */ | |
15 | -class BlogCategoryController extends Controller | |
16 | -{ | |
2 | + | |
3 | + namespace common\modules\blog\controllers; | |
4 | + | |
5 | + use Yii; | |
6 | + use common\modules\blog\models\BlogCategory; | |
7 | + use common\modules\blog\models\BlogCategorySearch; | |
8 | + use yii\helpers\ArrayHelper; | |
9 | + use yii\web\Controller; | |
10 | + use yii\web\NotFoundHttpException; | |
11 | + use yii\filters\VerbFilter; | |
12 | + | |
17 | 13 | /** |
18 | - * @inheritdoc | |
14 | + * BlogCategoryController implements the CRUD actions for BlogCategory model. | |
19 | 15 | */ |
20 | - public function behaviors() | |
16 | + class BlogCategoryController extends Controller | |
21 | 17 | { |
22 | - return [ | |
23 | - 'verbs' => [ | |
24 | - 'class' => VerbFilter::className(), | |
25 | - 'actions' => [ | |
26 | - 'delete' => ['POST'], | |
18 | + /** | |
19 | + * @inheritdoc | |
20 | + */ | |
21 | + public function behaviors() | |
22 | + { | |
23 | + return [ | |
24 | + 'verbs' => [ | |
25 | + 'class' => VerbFilter::className(), | |
26 | + 'actions' => [ | |
27 | + 'delete' => [ 'POST' ], | |
28 | + ], | |
27 | 29 | ], |
28 | - ], | |
29 | - ]; | |
30 | - } | |
31 | - | |
32 | - /** | |
33 | - * Lists all BlogCategory models. | |
34 | - * @return mixed | |
35 | - */ | |
36 | - public function actionIndex() | |
37 | - { | |
38 | - $searchModel = new BlogCategorySearch(); | |
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 BlogCategory 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 BlogCategory 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 BlogCategory(); | |
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 | - ]); | |
30 | + ]; | |
74 | 31 | } |
75 | - } | |
76 | - | |
77 | - /** | |
78 | - * Updates an existing BlogCategory 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 | - ]); | |
32 | + | |
33 | + /** | |
34 | + * Lists all BlogCategory models. | |
35 | + * | |
36 | + * @return mixed | |
37 | + */ | |
38 | + public function actionIndex() | |
39 | + { | |
40 | + $searchModel = new BlogCategorySearch(); | |
41 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |
42 | + | |
43 | + return $this->render( | |
44 | + 'index', | |
45 | + [ | |
46 | + 'searchModel' => $searchModel, | |
47 | + 'dataProvider' => $dataProvider, | |
48 | + ] | |
49 | + ); | |
93 | 50 | } |
94 | - } | |
95 | - | |
96 | - /** | |
97 | - * Deletes an existing BlogCategory 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 BlogCategory 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 BlogCategory the loaded model | |
114 | - * @throws NotFoundHttpException if the model cannot be found | |
115 | - */ | |
116 | - protected function findModel($id) | |
117 | - { | |
118 | - if (($model = BlogCategory::findOne($id)) !== null) { | |
119 | - return $model; | |
120 | - } else { | |
121 | - throw new NotFoundHttpException('The requested page does not exist.'); | |
51 | + | |
52 | + /** | |
53 | + * Displays a single BlogCategory model. | |
54 | + * | |
55 | + * @param integer $id | |
56 | + * | |
57 | + * @return mixed | |
58 | + */ | |
59 | + public function actionView($id) | |
60 | + { | |
61 | + return $this->render( | |
62 | + 'view', | |
63 | + [ | |
64 | + 'model' => $this->findModel($id), | |
65 | + ] | |
66 | + ); | |
67 | + } | |
68 | + | |
69 | + /** | |
70 | + * Creates a new BlogCategory model. | |
71 | + * If creation is successful, the browser will be redirected to the 'view' page. | |
72 | + * | |
73 | + * @return mixed | |
74 | + */ | |
75 | + public function actionCreate() | |
76 | + { | |
77 | + $model = new BlogCategory(); | |
78 | + $model->generateLangs(); | |
79 | + $parentCategories = ArrayHelper::map( | |
80 | + BlogCategory::find() | |
81 | + ->joinWith('lang') | |
82 | + ->where( | |
83 | + [ | |
84 | + 'parent_id' => 0, | |
85 | + ] | |
86 | + ) | |
87 | + ->all(), | |
88 | + 'id', | |
89 | + 'lang.title' | |
90 | + ); | |
91 | + | |
92 | + if ($model->load(Yii::$app->request->post())) { | |
93 | + $model->loadLangs(\Yii::$app->request); | |
94 | + if ($model->save() && $model->transactionStatus) { | |
95 | + return $this->redirect( | |
96 | + [ | |
97 | + 'view', | |
98 | + 'id' => $model->id, | |
99 | + ] | |
100 | + ); | |
101 | + } | |
102 | + } | |
103 | + return $this->render( | |
104 | + 'create', | |
105 | + [ | |
106 | + 'model' => $model, | |
107 | + 'modelLangs' => $model->modelLangs, | |
108 | + 'parentCategories' => $parentCategories, | |
109 | + ] | |
110 | + ); | |
111 | + | |
112 | + } | |
113 | + | |
114 | + /** | |
115 | + * Updates an existing BlogCategory model. | |
116 | + * If update is successful, the browser will be redirected to the 'view' page. | |
117 | + * | |
118 | + * @param integer $id | |
119 | + * | |
120 | + * @return mixed | |
121 | + */ | |
122 | + public function actionUpdate($id) | |
123 | + { | |
124 | + $model = $this->findModel($id); | |
125 | + $model->generateLangs(); | |
126 | + $parentCategories = ArrayHelper::map( | |
127 | + BlogCategory::find() | |
128 | + ->joinWith('lang') | |
129 | + ->where( | |
130 | + [ | |
131 | + 'parent_id' => 0, | |
132 | + ] | |
133 | + ) | |
134 | + ->andWhere( | |
135 | + [ | |
136 | + '!=', | |
137 | + BlogCategory::tableName() . '_id', | |
138 | + $model->id, | |
139 | + ] | |
140 | + ) | |
141 | + ->all(), | |
142 | + 'id', | |
143 | + 'lang.title' | |
144 | + ); | |
145 | + | |
146 | + if ($model->load(Yii::$app->request->post())) { | |
147 | + $model->loadLangs(\Yii::$app->request); | |
148 | + if ($model->save() && $model->transactionStatus) { | |
149 | + return $this->redirect( | |
150 | + [ | |
151 | + 'view', | |
152 | + 'id' => $model->id, | |
153 | + ] | |
154 | + ); | |
155 | + } | |
156 | + } | |
157 | + return $this->render( | |
158 | + 'update', | |
159 | + [ | |
160 | + 'model' => $model, | |
161 | + 'modelLangs' => $model->modelLangs, | |
162 | + 'parentCategories' => $parentCategories, | |
163 | + ] | |
164 | + ); | |
165 | + | |
166 | + } | |
167 | + | |
168 | + /** | |
169 | + * Deletes an existing BlogCategory model. | |
170 | + * If deletion is successful, the browser will be redirected to the 'index' page. | |
171 | + * | |
172 | + * @param integer $id | |
173 | + * | |
174 | + * @return mixed | |
175 | + */ | |
176 | + public function actionDelete($id) | |
177 | + { | |
178 | + $this->findModel($id) | |
179 | + ->delete(); | |
180 | + | |
181 | + return $this->redirect([ 'index' ]); | |
182 | + } | |
183 | + | |
184 | + /** | |
185 | + * Finds the BlogCategory model based on its primary key value. | |
186 | + * If the model is not found, a 404 HTTP exception will be thrown. | |
187 | + * | |
188 | + * @param integer $id | |
189 | + * | |
190 | + * @return BlogCategory the loaded model | |
191 | + * @throws NotFoundHttpException if the model cannot be found | |
192 | + */ | |
193 | + protected function findModel($id) | |
194 | + { | |
195 | + if (( $model = BlogCategory::findOne($id) ) !== NULL) { | |
196 | + return $model; | |
197 | + } else { | |
198 | + throw new NotFoundHttpException('The requested page does not exist.'); | |
199 | + } | |
122 | 200 | } |
123 | 201 | } |
124 | -} | ... | ... |
common/modules/blog/controllers/BlogTagController.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -namespace common\modules\blog\controllers; | |
4 | - | |
5 | -use Yii; | |
6 | -use common\modules\blog\models\BlogTag; | |
7 | -use common\modules\blog\models\BlogTagSearch; | |
8 | -use yii\web\Controller; | |
9 | -use yii\web\NotFoundHttpException; | |
10 | -use yii\filters\VerbFilter; | |
11 | - | |
12 | -/** | |
13 | - * BlogTagController implements the CRUD actions for BlogTag model. | |
14 | - */ | |
15 | -class BlogTagController extends Controller | |
16 | -{ | |
2 | + | |
3 | + namespace common\modules\blog\controllers; | |
4 | + | |
5 | + use Yii; | |
6 | + use common\modules\blog\models\BlogTag; | |
7 | + use common\modules\blog\models\BlogTagSearch; | |
8 | + use yii\web\Controller; | |
9 | + use yii\web\NotFoundHttpException; | |
10 | + use yii\filters\VerbFilter; | |
11 | + | |
17 | 12 | /** |
18 | - * @inheritdoc | |
13 | + * BlogTagController implements the CRUD actions for BlogTag model. | |
19 | 14 | */ |
20 | - public function behaviors() | |
15 | + class BlogTagController extends Controller | |
21 | 16 | { |
22 | - return [ | |
23 | - 'verbs' => [ | |
24 | - 'class' => VerbFilter::className(), | |
25 | - 'actions' => [ | |
26 | - 'delete' => ['POST'], | |
17 | + /** | |
18 | + * @inheritdoc | |
19 | + */ | |
20 | + public function behaviors() | |
21 | + { | |
22 | + return [ | |
23 | + 'verbs' => [ | |
24 | + 'class' => VerbFilter::className(), | |
25 | + 'actions' => [ | |
26 | + 'delete' => [ 'POST' ], | |
27 | + ], | |
27 | 28 | ], |
28 | - ], | |
29 | - ]; | |
30 | - } | |
31 | - | |
32 | - /** | |
33 | - * Lists all BlogTag models. | |
34 | - * @return mixed | |
35 | - */ | |
36 | - public function actionIndex() | |
37 | - { | |
38 | - $searchModel = new BlogTagSearch(); | |
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 BlogTag 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 BlogTag 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 BlogTag(); | |
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 | - ]); | |
29 | + ]; | |
74 | 30 | } |
75 | - } | |
76 | - | |
77 | - /** | |
78 | - * Updates an existing BlogTag 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 | - ]); | |
31 | + | |
32 | + /** | |
33 | + * Lists all BlogTag models. | |
34 | + * | |
35 | + * @return mixed | |
36 | + */ | |
37 | + public function actionIndex() | |
38 | + { | |
39 | + $searchModel = new BlogTagSearch(); | |
40 | + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |
41 | + | |
42 | + return $this->render( | |
43 | + 'index', | |
44 | + [ | |
45 | + 'searchModel' => $searchModel, | |
46 | + 'dataProvider' => $dataProvider, | |
47 | + ] | |
48 | + ); | |
93 | 49 | } |
94 | - } | |
95 | - | |
96 | - /** | |
97 | - * Deletes an existing BlogTag 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 BlogTag 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 BlogTag the loaded model | |
114 | - * @throws NotFoundHttpException if the model cannot be found | |
115 | - */ | |
116 | - protected function findModel($id) | |
117 | - { | |
118 | - if (($model = BlogTag::findOne($id)) !== null) { | |
119 | - return $model; | |
120 | - } else { | |
121 | - throw new NotFoundHttpException('The requested page does not exist.'); | |
50 | + | |
51 | + /** | |
52 | + * Displays a single BlogTag model. | |
53 | + * | |
54 | + * @param integer $id | |
55 | + * | |
56 | + * @return mixed | |
57 | + */ | |
58 | + public function actionView($id) | |
59 | + { | |
60 | + return $this->render( | |
61 | + 'view', | |
62 | + [ | |
63 | + 'model' => $this->findModel($id), | |
64 | + ] | |
65 | + ); | |
66 | + } | |
67 | + | |
68 | + /** | |
69 | + * Creates a new BlogTag model. | |
70 | + * If creation is successful, the browser will be redirected to the 'view' page. | |
71 | + * | |
72 | + * @return mixed | |
73 | + */ | |
74 | + public function actionCreate() | |
75 | + { | |
76 | + $model = new BlogTag(); | |
77 | + $model->generateLangs(); | |
78 | + | |
79 | + if (\Yii::$app->request->isPost) { | |
80 | + $model->loadLangs(\Yii::$app->request); | |
81 | + $model->markAttributeDirty('id'); | |
82 | + if ($model->save() && $model->transactionStatus) { | |
83 | + return $this->redirect( | |
84 | + [ | |
85 | + 'view', | |
86 | + 'id' => $model->id, | |
87 | + ] | |
88 | + ); | |
89 | + } | |
90 | + } | |
91 | + return $this->render( | |
92 | + 'create', | |
93 | + [ | |
94 | + 'model' => $model, | |
95 | + 'modelLangs' => $model->modelLangs, | |
96 | + ] | |
97 | + ); | |
98 | + | |
99 | + } | |
100 | + | |
101 | + /** | |
102 | + * Updates an existing BlogTag model. | |
103 | + * If update is successful, the browser will be redirected to the 'view' page. | |
104 | + * | |
105 | + * @param integer $id | |
106 | + * | |
107 | + * @return mixed | |
108 | + */ | |
109 | + public function actionUpdate($id) | |
110 | + { | |
111 | + $model = $this->findModel($id); | |
112 | + $model->generateLangs(); | |
113 | + | |
114 | + if (Yii::$app->request->isPost) { | |
115 | + $model->loadLangs(\Yii::$app->request); | |
116 | + $model->markAttributeDirty('id'); | |
117 | + if ($model->save() && $model->transactionStatus) { | |
118 | + return $this->redirect( | |
119 | + [ | |
120 | + 'view', | |
121 | + 'id' => $model->id, | |
122 | + ] | |
123 | + ); | |
124 | + } | |
125 | + } | |
126 | + return $this->render( | |
127 | + 'update', | |
128 | + [ | |
129 | + 'model' => $model, | |
130 | + 'modelLangs' => $model->modelLangs, | |
131 | + ] | |
132 | + ); | |
133 | + | |
134 | + } | |
135 | + | |
136 | + /** | |
137 | + * Deletes an existing BlogTag model. | |
138 | + * If deletion is successful, the browser will be redirected to the 'index' page. | |
139 | + * | |
140 | + * @param integer $id | |
141 | + * | |
142 | + * @return mixed | |
143 | + */ | |
144 | + public function actionDelete($id) | |
145 | + { | |
146 | + $this->findModel($id) | |
147 | + ->delete(); | |
148 | + | |
149 | + return $this->redirect([ 'index' ]); | |
150 | + } | |
151 | + | |
152 | + /** | |
153 | + * Finds the BlogTag model based on its primary key value. | |
154 | + * If the model is not found, a 404 HTTP exception will be thrown. | |
155 | + * | |
156 | + * @param integer $id | |
157 | + * | |
158 | + * @return BlogTag the loaded model | |
159 | + * @throws NotFoundHttpException if the model cannot be found | |
160 | + */ | |
161 | + protected function findModel($id) | |
162 | + { | |
163 | + if (( $model = BlogTag::findOne($id) ) !== NULL) { | |
164 | + return $model; | |
165 | + } else { | |
166 | + throw new NotFoundHttpException('The requested page does not exist.'); | |
167 | + } | |
122 | 168 | } |
123 | 169 | } |
124 | -} | ... | ... |
common/modules/blog/controllers/DefaultController.php
100644 → 100755
... | ... | @@ -2,8 +2,14 @@ |
2 | 2 | |
3 | 3 | namespace common\modules\blog\models; |
4 | 4 | |
5 | + use common\behaviors\SaveImgBehavior; | |
6 | + use yii\behaviors\TimestampBehavior; | |
5 | 7 | use yii\db\ActiveRecord; |
6 | 8 | use common\modules\language\behaviors\LanguageBehavior; |
9 | + use common\modules\language\models\Language; | |
10 | + use common\modules\product\models\Product; | |
11 | + use yii\db\ActiveQuery; | |
12 | + use yii\web\Request; | |
7 | 13 | |
8 | 14 | /** |
9 | 15 | * This is the model class for table "blog_article". |
... | ... | @@ -28,6 +34,32 @@ |
28 | 34 | * @property Product[] $products |
29 | 35 | * @property BlogArticleToTag[] $blogArticleToTags |
30 | 36 | * @property BlogTag[] $blogTags |
37 | + * * * From language behavior * | |
38 | + * @property BlogArticleLang $lang | |
39 | + * @property BlogArticleLang[] $langs | |
40 | + * @property BlogArticleLang $objectLang | |
41 | + * @property string $ownerKey | |
42 | + * @property string $langKey | |
43 | + * @property BlogArticleLang[] $modelLangs | |
44 | + * @property bool $transactionStatus | |
45 | + * @method string getOwnerKey() | |
46 | + * @method void setOwnerKey( string $value ) | |
47 | + * @method string getLangKey() | |
48 | + * @method void setLangKey( string $value ) | |
49 | + * @method ActiveQuery getLangs() | |
50 | + * @method ActiveQuery getLang( integer $language_id ) | |
51 | + * @method BlogArticleLang[] generateLangs() | |
52 | + * @method void loadLangs( Request $request ) | |
53 | + * @method bool linkLangs() | |
54 | + * @method bool saveLangs() | |
55 | + * @method bool getTransactionStatus() | |
56 | + * * End language behavior * | |
57 | + * * From SaveImgBehavior | |
58 | + * @property string|null $imageFile | |
59 | + * @property string|null $imageUrl | |
60 | + * @method string|null getImageFile( int $field ) | |
61 | + * @method string|null getImageUrl( int $field ) | |
62 | + * * End SaveImgBehavior | |
31 | 63 | */ |
32 | 64 | class BlogArticle extends ActiveRecord |
33 | 65 | { |
... | ... | @@ -42,8 +74,20 @@ |
42 | 74 | public function behaviors() |
43 | 75 | { |
44 | 76 | return [ |
77 | + [ | |
78 | + 'class' => TimestampBehavior::className(), | |
79 | + ], | |
80 | + [ | |
81 | + 'class' => SaveImgBehavior::className(), | |
82 | + 'fields' => [ | |
83 | + [ | |
84 | + 'name' => 'image', | |
85 | + 'directory' => 'blog/article', | |
86 | + ], | |
87 | + ], | |
88 | + ], | |
45 | 89 | 'language' => [ |
46 | - 'class' => LanguageBehavior::className(), | |
90 | + 'class' => LanguageBehavior::className(), | |
47 | 91 | ], |
48 | 92 | ]; |
49 | 93 | } | ... | ... |
common/modules/blog/models/BlogArticleLang.php
100644 → 100755
... | ... | @@ -32,7 +32,16 @@ class BlogArticleLang extends ActiveRecord |
32 | 32 | { |
33 | 33 | return 'blog_article_lang'; |
34 | 34 | } |
35 | - | |
35 | + | |
36 | + public function behaviors() | |
37 | + { | |
38 | + return [ | |
39 | + 'slug' => [ | |
40 | + 'class' => 'common\behaviors\Slug', | |
41 | + ], | |
42 | + ]; | |
43 | + } | |
44 | + | |
36 | 45 | /** |
37 | 46 | * @inheritdoc |
38 | 47 | */ | ... | ... |
common/modules/blog/models/BlogArticleSearch.php
100644 → 100755
... | ... | @@ -4,6 +4,10 @@ |
4 | 4 | |
5 | 5 | use yii\db\ActiveRecord; |
6 | 6 | use common\modules\language\behaviors\LanguageBehavior; |
7 | + use common\behaviors\SaveImgBehavior; | |
8 | + use common\modules\language\models\Language; | |
9 | + use yii\db\ActiveQuery; | |
10 | + use yii\web\Request; | |
7 | 11 | |
8 | 12 | /** |
9 | 13 | * This is the model class for table "blog_category". |
... | ... | @@ -17,6 +21,32 @@ |
17 | 21 | * @property BlogArticle[] $blogArticles |
18 | 22 | * @property BlogCategoryLang[] $blogCategoryLangs |
19 | 23 | * @property Language[] $languages |
24 | + * * From language behavior * | |
25 | + * @property BlogCategoryLang $lang | |
26 | + * @property BlogCategoryLang[] $langs | |
27 | + * @property BlogCategoryLang $objectLang | |
28 | + * @property string $ownerKey | |
29 | + * @property string $langKey | |
30 | + * @property BlogCategoryLang[] $modelLangs | |
31 | + * @property bool $transactionStatus | |
32 | + * @method string getOwnerKey() | |
33 | + * @method void setOwnerKey( string $value ) | |
34 | + * @method string getLangKey() | |
35 | + * @method void setLangKey( string $value ) | |
36 | + * @method ActiveQuery getLangs() | |
37 | + * @method ActiveQuery getLang( integer $language_id ) | |
38 | + * @method BlogCategoryLang[] generateLangs() | |
39 | + * @method void loadLangs( Request $request ) | |
40 | + * @method bool linkLangs() | |
41 | + * @method bool saveLangs() | |
42 | + * @method bool getTransactionStatus() | |
43 | + * * End language behavior * | |
44 | + * * From SaveImgBehavior * | |
45 | + * @property string|null $imageFile | |
46 | + * @property string|null $imageUrl | |
47 | + * @method string|null getImageFile( int $field ) | |
48 | + * @method string|null getImageUrl( int $field ) | |
49 | + * * End SaveImgBehavior | |
20 | 50 | */ |
21 | 51 | class BlogCategory extends ActiveRecord |
22 | 52 | { |
... | ... | @@ -27,16 +57,28 @@ |
27 | 57 | { |
28 | 58 | return 'blog_category'; |
29 | 59 | } |
30 | - | |
60 | + | |
31 | 61 | /** |
32 | 62 | * @inheritdoc |
33 | 63 | */ |
34 | 64 | public function behaviors() |
35 | 65 | { |
36 | 66 | return [ |
67 | + [ | |
68 | + 'class' => SaveImgBehavior::className(), | |
69 | + 'fields' => [ | |
70 | + [ | |
71 | + 'name' => 'image', | |
72 | + 'directory' => 'blog/category', | |
73 | + ], | |
74 | + ], | |
75 | + ], | |
37 | 76 | 'language' => [ |
38 | 77 | 'class' => LanguageBehavior::className(), |
39 | 78 | ], |
79 | + 'Slug' => [ | |
80 | + 'class' => 'common\behaviors\Slug', | |
81 | + ], | |
40 | 82 | ]; |
41 | 83 | } |
42 | 84 | |
... | ... | @@ -62,6 +104,11 @@ |
62 | 104 | 'string', |
63 | 105 | 'max' => 255, |
64 | 106 | ], |
107 | + [ | |
108 | + ['parent_id'], | |
109 | + 'default', | |
110 | + 'value' => 0, | |
111 | + ], | |
65 | 112 | ]; |
66 | 113 | } |
67 | 114 | ... | ... |
common/modules/blog/models/BlogCategoryLang.php
100644 → 100755
... | ... | @@ -2,7 +2,8 @@ |
2 | 2 | |
3 | 3 | namespace common\modules\blog\models; |
4 | 4 | |
5 | -use Yii; | |
5 | +use yii\db\ActiveRecord; | |
6 | +use common\modules\language\models\Language; | |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * This is the model class for table "blog_category_lang". |
... | ... | @@ -21,7 +22,7 @@ use Yii; |
21 | 22 | * @property BlogCategory $blogCategory |
22 | 23 | * @property Language $language |
23 | 24 | */ |
24 | -class BlogCategoryLang extends \yii\db\ActiveRecord | |
25 | +class BlogCategoryLang extends ActiveRecord | |
25 | 26 | { |
26 | 27 | /** |
27 | 28 | * @inheritdoc |
... | ... | @@ -31,6 +32,15 @@ class BlogCategoryLang extends \yii\db\ActiveRecord |
31 | 32 | return 'blog_category_lang'; |
32 | 33 | } |
33 | 34 | |
35 | + public function behaviors() | |
36 | + { | |
37 | + return [ | |
38 | + 'slug' => [ | |
39 | + 'class' => 'common\behaviors\Slug', | |
40 | + ], | |
41 | + ]; | |
42 | + } | |
43 | + | |
34 | 44 | /** |
35 | 45 | * @inheritdoc |
36 | 46 | */ | ... | ... |
common/modules/blog/models/BlogCategorySearch.php
100644 → 100755
... | ... | @@ -4,6 +4,9 @@ |
4 | 4 | |
5 | 5 | use yii\db\ActiveRecord; |
6 | 6 | use common\modules\language\behaviors\LanguageBehavior; |
7 | + use common\modules\language\models\Language; | |
8 | + use yii\db\ActiveQuery; | |
9 | + use yii\web\Request; | |
7 | 10 | |
8 | 11 | /** |
9 | 12 | * This is the model class for table "blog_tag". |
... | ... | @@ -13,8 +16,28 @@ |
13 | 16 | * @property BlogArticle[] $blogArticles |
14 | 17 | * @property BlogTagLang[] $blogTagLangs |
15 | 18 | * @property Language[] $languages |
19 | + * * From language behavior * | |
20 | + * @property BlogTagLang $lang | |
21 | + * @property BlogTagLang[] $langs | |
22 | + * @property BlogTagLang $objectLang | |
23 | + * @property string $ownerKey | |
24 | + * @property string $langKey | |
25 | + * @property BlogTagLang[] $modelLangs | |
26 | + * @property bool $transactionStatus | |
27 | + * @method string getOwnerKey() | |
28 | + * @method void setOwnerKey(string $value) | |
29 | + * @method string getLangKey() | |
30 | + * @method void setLangKey(string $value) | |
31 | + * @method ActiveQuery getLangs() | |
32 | + * @method ActiveQuery getLang( integer $language_id ) | |
33 | + * @method BlogTagLang[] generateLangs() | |
34 | + * @method void loadLangs(Request $request) | |
35 | + * @method bool linkLangs() | |
36 | + * @method bool saveLangs() | |
37 | + * @method bool getTransactionStatus() | |
38 | + * * End language behavior * | |
16 | 39 | */ |
17 | - class BlogTag extends \yii\db\ActiveRecord | |
40 | + class BlogTag extends ActiveRecord | |
18 | 41 | { |
19 | 42 | /** |
20 | 43 | * @inheritdoc | ... | ... |
... | ... | @@ -2,7 +2,8 @@ |
2 | 2 | |
3 | 3 | namespace common\modules\blog\models; |
4 | 4 | |
5 | -use Yii; | |
5 | +use common\modules\language\models\Language; | |
6 | +use yii\db\ActiveRecord; | |
6 | 7 | |
7 | 8 | /** |
8 | 9 | * This is the model class for table "blog_tag_lang". |
... | ... | @@ -15,7 +16,7 @@ use Yii; |
15 | 16 | * @property BlogTag $blogTag |
16 | 17 | * @property Language $language |
17 | 18 | */ |
18 | -class BlogTagLang extends \yii\db\ActiveRecord | |
19 | +class BlogTagLang extends ActiveRecord | |
19 | 20 | { |
20 | 21 | /** |
21 | 22 | * @inheritdoc | ... | ... |
common/modules/blog/views/blog-article/_form.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | -use yii\widgets\ActiveForm; | |
5 | - | |
6 | -/* @var $this yii\web\View */ | |
7 | -/* @var $model common\modules\blog\models\BlogArticle */ | |
8 | -/* @var $form yii\widgets\ActiveForm */ | |
2 | + | |
3 | + use common\modules\blog\models\BlogArticle; | |
4 | + use common\modules\blog\models\BlogArticleLang; | |
5 | + use common\modules\blog\models\BlogCategory; | |
6 | + use common\modules\blog\models\BlogTag; | |
7 | + use kartik\select2\Select2; | |
8 | + use yii\helpers\Html; | |
9 | + use yii\web\View; | |
10 | + use yii\widgets\ActiveForm; | |
11 | + use common\modules\language\widgets\LanguageForm; | |
12 | + | |
13 | + /** | |
14 | + * @var View $this | |
15 | + * @var BlogArticle $model | |
16 | + * @var ActiveForm $form | |
17 | + * @var BlogArticleLang[] $modelLangs | |
18 | + * @var BlogCategory[] $categories | |
19 | + * @var BlogTag[] $tags | |
20 | + */ | |
9 | 21 | ?> |
10 | 22 | |
11 | 23 | <div class="blog-article-form"> |
12 | - | |
13 | - <?php $form = ActiveForm::begin(); ?> | |
14 | - | |
15 | - <?= $form->field($model, 'image')->textInput(['maxlength' => true]) ?> | |
16 | - | |
17 | - <?= $form->field($model, 'created_at')->textInput() ?> | |
18 | - | |
19 | - <?= $form->field($model, 'updated_at')->textInput() ?> | |
20 | - | |
21 | - <?= $form->field($model, 'deleted_at')->textInput() ?> | |
22 | - | |
23 | - <?= $form->field($model, 'sort')->textInput() ?> | |
24 | - | |
25 | - <?= $form->field($model, 'status')->checkbox() ?> | |
26 | - | |
27 | - <?= $form->field($model, 'author_id')->textInput() ?> | |
28 | - | |
24 | + | |
25 | + <?php $form = ActiveForm::begin( | |
26 | + [ | |
27 | + 'options' => [ 'enctype' => 'multipart/form-data' ], | |
28 | + ] | |
29 | + ); ?> | |
30 | + | |
31 | + <?php | |
32 | + echo LanguageForm::widget( | |
33 | + [ | |
34 | + 'modelLangs' => $modelLangs, | |
35 | + 'formView' => '@common/modules/blog/views/blog-article/_form_language', | |
36 | + 'form' => $form, | |
37 | + ] | |
38 | + ); | |
39 | + ?> | |
40 | + | |
41 | + <?php | |
42 | + echo $form->field($model, 'blogCategories') | |
43 | + ->widget( | |
44 | + Select2::className(), | |
45 | + [ | |
46 | + 'data' => $categories, | |
47 | + 'theme' => Select2::THEME_BOOTSTRAP, | |
48 | + 'options' => [ | |
49 | + 'placeholder' => \Yii::t('blog', 'Select category'), | |
50 | + 'multiple' => true, | |
51 | + ], | |
52 | + 'pluginOptions' => [ | |
53 | + 'allowClear' => true, | |
54 | + ], | |
55 | + ] | |
56 | + ); | |
57 | + ?> | |
58 | + | |
59 | + <?php | |
60 | + echo $form->field($model, 'blogTags') | |
61 | + ->widget( | |
62 | + Select2::className(), | |
63 | + [ | |
64 | + 'data' => $tags, | |
65 | + 'theme' => Select2::THEME_BOOTSTRAP, | |
66 | + 'options' => [ | |
67 | + 'placeholder' => \Yii::t('blog', 'Select tag'), | |
68 | + 'multiple' => true, | |
69 | + ], | |
70 | + 'pluginOptions' => [ | |
71 | + 'allowClear' => true, | |
72 | + ], | |
73 | + ] | |
74 | + ); | |
75 | + ?> | |
76 | + | |
77 | + <?= $form->field($model, 'image') | |
78 | + ->widget( | |
79 | + \kartik\file\FileInput::className(), | |
80 | + [ | |
81 | + 'language' => 'ru', | |
82 | + 'options' => [ | |
83 | + 'accept' => 'image/*', | |
84 | + 'multiple' => false, | |
85 | + ], | |
86 | + 'pluginOptions' => [ | |
87 | + 'allowedFileExtensions' => [ | |
88 | + 'jpg', | |
89 | + 'gif', | |
90 | + 'png', | |
91 | + ], | |
92 | + 'initialPreview' => !empty( $model->imageUrl ) ? \common\components\artboximage\ArtboxImageHelper::getImage( | |
93 | + $model->imageUrl, | |
94 | + 'list' | |
95 | + ) : '', | |
96 | + 'overwriteInitial' => true, | |
97 | + 'showRemove' => false, | |
98 | + 'showUpload' => false, | |
99 | + 'previewFileType' => 'image', | |
100 | + ], | |
101 | + ] | |
102 | + ); ?> | |
103 | + | |
104 | + <?= $form->field($model, 'sort') | |
105 | + ->textInput() ?> | |
106 | + | |
107 | + <?= $form->field($model, 'status') | |
108 | + ->checkbox() ?> | |
109 | + | |
110 | + <?= $form->field($model, 'author_id') | |
111 | + ->textInput() ?> | |
112 | + | |
29 | 113 | <div class="form-group"> |
30 | - <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | |
114 | + <?= Html::submitButton( | |
115 | + $model->isNewRecord ? 'Create' : 'Update', | |
116 | + [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ] | |
117 | + ) ?> | |
31 | 118 | </div> |
32 | - | |
119 | + | |
33 | 120 | <?php ActiveForm::end(); ?> |
34 | 121 | |
35 | 122 | </div> | ... | ... |
common/modules/blog/views/blog-article/_form_language.php
0 → 100755
1 | +<?php | |
2 | + use common\models\ArticleLang; | |
3 | + use common\modules\language\models\Language; | |
4 | + use mihaildev\ckeditor\CKEditor; | |
5 | + use mihaildev\elfinder\ElFinder; | |
6 | + use yii\web\View; | |
7 | + use yii\widgets\ActiveForm; | |
8 | + | |
9 | + /** | |
10 | + * @var ArticleLang $model_lang | |
11 | + * @var Language $language | |
12 | + * @var ActiveForm $form | |
13 | + * @var View $this | |
14 | + */ | |
15 | +?> | |
16 | +<?= $form->field($model_lang, '[' . $language->id . ']title') | |
17 | + ->textInput([ 'maxlength' => true ]); ?> | |
18 | + | |
19 | +<?= $form->field($model_lang, '[' . $language->id . ']alias') | |
20 | + ->textInput([ 'maxlength' => true ]); ?> | |
21 | + | |
22 | +<?= $form->field($model_lang, '[' . $language->id . ']body') | |
23 | + ->widget( | |
24 | + CKEditor::className(), | |
25 | + [ | |
26 | + 'editorOptions' => ElFinder::ckeditorOptions( | |
27 | + 'elfinder', | |
28 | + [ | |
29 | + 'preset' => 'full', | |
30 | + 'inline' => false, | |
31 | + 'filebrowserUploadUrl' => Yii::$app->getUrlManager() | |
32 | + ->createUrl('file/uploader/images-upload'), | |
33 | + ] | |
34 | + ), | |
35 | + ] | |
36 | + ) ?> | |
37 | + | |
38 | +<?= $form->field($model_lang, '[' . $language->id . ']body_preview') | |
39 | + ->textarea( | |
40 | + [ | |
41 | + 'rows' => '10', | |
42 | + ] | |
43 | + ) ?> | |
44 | + | |
45 | +<?= $form->field($model_lang, '[' . $language->id . ']meta_title') | |
46 | + ->textInput([ 'maxlength' => true ]); ?> | |
47 | + | |
48 | +<?= $form->field($model_lang, '[' . $language->id . ']meta_description') | |
49 | + ->textInput([ 'maxlength' => true ]); ?> | |
50 | + | |
51 | +<?= $form->field($model_lang, '[' . $language->id . ']seo_text') | |
52 | + ->textInput([ 'maxlength' => true ]); ?> | |
53 | + | |
54 | +<?= $form->field($model_lang, '[' . $language->id . ']h1') | |
55 | + ->textInput([ 'maxlength' => true ]); ?> | ... | ... |
common/modules/blog/views/blog-article/_search.php
100644 → 100755
common/modules/blog/views/blog-article/create.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | - | |
5 | - | |
6 | -/* @var $this yii\web\View */ | |
7 | -/* @var $model common\modules\blog\models\BlogArticle */ | |
8 | - | |
9 | -$this->title = 'Create Blog Article'; | |
10 | -$this->params['breadcrumbs'][] = ['label' => 'Blog Articles', 'url' => ['index']]; | |
11 | -$this->params['breadcrumbs'][] = $this->title; | |
2 | + | |
3 | + use common\modules\blog\models\BlogArticle; | |
4 | + use common\modules\blog\models\BlogArticleLang; | |
5 | + use common\modules\blog\models\BlogCategory; | |
6 | + use common\modules\blog\models\BlogTag; | |
7 | + use yii\helpers\Html; | |
8 | + use yii\web\View; | |
9 | + | |
10 | + /** | |
11 | + * @var View $this | |
12 | + * @var BlogArticle $model | |
13 | + * @var BlogArticleLang[] $modelLangs | |
14 | + * @var BlogCategory[] $categories | |
15 | + * @var BlogTag[] $tags | |
16 | + */ | |
17 | + | |
18 | + $this->title = 'Create Blog Article'; | |
19 | + $this->params[ 'breadcrumbs' ][] = [ | |
20 | + 'label' => 'Blog Articles', | |
21 | + 'url' => [ 'index' ], | |
22 | + ]; | |
23 | + $this->params[ 'breadcrumbs' ][] = $this->title; | |
12 | 24 | ?> |
13 | 25 | <div class="blog-article-create"> |
14 | - | |
26 | + | |
15 | 27 | <h1><?= Html::encode($this->title) ?></h1> |
16 | - | |
17 | - <?= $this->render('_form', [ | |
18 | - 'model' => $model, | |
19 | - ]) ?> | |
28 | + | |
29 | + <?= $this->render( | |
30 | + '_form', | |
31 | + [ | |
32 | + 'model' => $model, | |
33 | + 'modelLangs' => $modelLangs, | |
34 | + 'categories' => $categories, | |
35 | + 'tags' => $tags, | |
36 | + ] | |
37 | + ) ?> | |
20 | 38 | |
21 | 39 | </div> | ... | ... |
common/modules/blog/views/blog-article/index.php
100644 → 100755
common/modules/blog/views/blog-article/update.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | - | |
5 | -/* @var $this yii\web\View */ | |
6 | -/* @var $model common\modules\blog\models\BlogArticle */ | |
7 | - | |
8 | -$this->title = 'Update Blog Article: ' . $model->id; | |
9 | -$this->params['breadcrumbs'][] = ['label' => 'Blog Articles', 'url' => ['index']]; | |
10 | -$this->params['breadcrumbs'][] = ['label' => $model->id, 'url' => ['view', 'id' => $model->id]]; | |
11 | -$this->params['breadcrumbs'][] = 'Update'; | |
2 | + | |
3 | + use common\modules\blog\models\BlogArticle; | |
4 | + use common\modules\blog\models\BlogArticleLang; | |
5 | + use common\modules\blog\models\BlogCategory; | |
6 | + use common\modules\blog\models\BlogTag; | |
7 | + use yii\helpers\Html; | |
8 | + use yii\web\View; | |
9 | + | |
10 | + /** | |
11 | + * @var View $this | |
12 | + * @var BlogArticle $model | |
13 | + * @var BlogArticleLang[] $modelLangs | |
14 | + * @var BlogCategory[] $categories | |
15 | + * @var BlogTag[] $tags | |
16 | + */ | |
17 | + | |
18 | + $this->title = 'Update Blog Article: ' . $model->id; | |
19 | + $this->params[ 'breadcrumbs' ][] = [ | |
20 | + 'label' => 'Blog Articles', | |
21 | + 'url' => [ 'index' ], | |
22 | + ]; | |
23 | + $this->params[ 'breadcrumbs' ][] = [ | |
24 | + 'label' => $model->id, | |
25 | + 'url' => [ | |
26 | + 'view', | |
27 | + 'id' => $model->id, | |
28 | + ], | |
29 | + ]; | |
30 | + $this->params[ 'breadcrumbs' ][] = 'Update'; | |
12 | 31 | ?> |
13 | 32 | <div class="blog-article-update"> |
14 | - | |
33 | + | |
15 | 34 | <h1><?= Html::encode($this->title) ?></h1> |
16 | - | |
17 | - <?= $this->render('_form', [ | |
18 | - 'model' => $model, | |
19 | - ]) ?> | |
35 | + | |
36 | + <?= $this->render( | |
37 | + '_form', | |
38 | + [ | |
39 | + 'model' => $model, | |
40 | + 'modelLangs' => $modelLangs, | |
41 | + 'categories' => $categories, | |
42 | + 'tags' => $tags, | |
43 | + ] | |
44 | + ) ?> | |
20 | 45 | |
21 | 46 | </div> | ... | ... |
common/modules/blog/views/blog-article/view.php
100644 → 100755
common/modules/blog/views/blog-category/_form.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | -use yii\widgets\ActiveForm; | |
5 | - | |
6 | -/* @var $this yii\web\View */ | |
7 | -/* @var $model common\modules\blog\models\BlogCategory */ | |
8 | -/* @var $form yii\widgets\ActiveForm */ | |
2 | + | |
3 | + use common\modules\blog\models\BlogCategory; | |
4 | + use common\modules\blog\models\BlogCategoryLang; | |
5 | + use yii\bootstrap\Dropdown; | |
6 | + use yii\helpers\Html; | |
7 | + use yii\web\View; | |
8 | + use yii\widgets\ActiveForm; | |
9 | + use common\modules\language\widgets\LanguageForm; | |
10 | + | |
11 | + /** | |
12 | + * @var View $this | |
13 | + * @var BlogCategory $model | |
14 | + * @var ActiveForm $form | |
15 | + * @var BlogCategoryLang[] $modelLangs | |
16 | + * @var array $parentCategories | |
17 | + */ | |
9 | 18 | ?> |
10 | 19 | |
11 | 20 | <div class="blog-category-form"> |
12 | - | |
13 | - <?php $form = ActiveForm::begin(); ?> | |
14 | - | |
15 | - <?= $form->field($model, 'sort')->textInput() ?> | |
16 | - | |
17 | - <?= $form->field($model, 'image')->textInput(['maxlength' => true]) ?> | |
18 | - | |
19 | - <?= $form->field($model, 'parent_id')->textInput() ?> | |
20 | - | |
21 | - <?= $form->field($model, 'status')->checkbox() ?> | |
22 | - | |
21 | + | |
22 | + <?php $form = ActiveForm::begin( | |
23 | + [ | |
24 | + 'options' => [ 'enctype' => 'multipart/form-data' ], | |
25 | + | |
26 | + ] | |
27 | + ); ?> | |
28 | + | |
29 | + <?php | |
30 | + echo LanguageForm::widget( | |
31 | + [ | |
32 | + 'modelLangs' => $modelLangs, | |
33 | + 'formView' => '@common/modules/blog/views/blog-category/_form_language', | |
34 | + 'form' => $form, | |
35 | + ] | |
36 | + ); | |
37 | + ?> | |
38 | + | |
39 | + <?= $form->field($model, 'image') | |
40 | + ->widget( | |
41 | + \kartik\file\FileInput::className(), | |
42 | + [ | |
43 | + 'language' => 'ru', | |
44 | + 'options' => [ | |
45 | + 'accept' => 'image/*', | |
46 | + 'multiple' => false, | |
47 | + ], | |
48 | + 'pluginOptions' => [ | |
49 | + 'allowedFileExtensions' => [ | |
50 | + 'jpg', | |
51 | + 'gif', | |
52 | + 'png', | |
53 | + ], | |
54 | + 'initialPreview' => !empty( $model->imageUrl ) ? \common\components\artboximage\ArtboxImageHelper::getImage( | |
55 | + $model->imageUrl, | |
56 | + 'list' | |
57 | + ) : '', | |
58 | + 'overwriteInitial' => true, | |
59 | + 'showRemove' => false, | |
60 | + 'showUpload' => false, | |
61 | + 'previewFileType' => 'image', | |
62 | + ], | |
63 | + ] | |
64 | + ); ?> | |
65 | + | |
66 | + <?= $form->field($model, 'sort') | |
67 | + ->textInput() ?> | |
68 | + | |
69 | + <?= $form->field($model, 'parent_id') | |
70 | + ->dropDownList($parentCategories, [ | |
71 | + 'prompt' => \Yii::t('blog', 'Has no parent rubric'), | |
72 | + ]) ?> | |
73 | + | |
74 | + <?= $form->field($model, 'status') | |
75 | + ->checkbox() ?> | |
76 | + | |
23 | 77 | <div class="form-group"> |
24 | - <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | |
78 | + <?= Html::submitButton( | |
79 | + $model->isNewRecord ? 'Create' : 'Update', | |
80 | + [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ] | |
81 | + ) ?> | |
25 | 82 | </div> |
26 | - | |
83 | + | |
27 | 84 | <?php ActiveForm::end(); ?> |
28 | 85 | |
29 | 86 | </div> | ... | ... |
common/modules/blog/views/blog-category/_form_language.php
0 → 100755
1 | +<?php | |
2 | + use common\models\ArticleLang; | |
3 | + use common\modules\language\models\Language; | |
4 | + use yii\web\View; | |
5 | + use yii\widgets\ActiveForm; | |
6 | + | |
7 | + /** | |
8 | + * @var ArticleLang $model_lang | |
9 | + * @var Language $language | |
10 | + * @var ActiveForm $form | |
11 | + * @var View $this | |
12 | + */ | |
13 | +?> | |
14 | +<?= $form->field($model_lang, '[' . $language->id . ']title') | |
15 | + ->textInput([ 'maxlength' => true ]); ?> | |
16 | + | |
17 | +<?= $form->field($model_lang, '[' . $language->id . ']alias') | |
18 | + ->textInput([ 'maxlength' => true ]); ?> | |
19 | + | |
20 | +<?= $form->field($model_lang, '[' . $language->id . ']description') | |
21 | + ->textarea( | |
22 | + [ | |
23 | + 'rows' => '10', | |
24 | + ] | |
25 | + ) ?> | |
26 | + | |
27 | +<?= $form->field($model_lang, '[' . $language->id . ']meta_title') | |
28 | + ->textInput([ 'maxlength' => true ]); ?> | |
29 | + | |
30 | +<?= $form->field($model_lang, '[' . $language->id . ']meta_description') | |
31 | + ->textInput([ 'maxlength' => true ]); ?> | |
32 | + | |
33 | +<?= $form->field($model_lang, '[' . $language->id . ']seo_text') | |
34 | + ->textInput([ 'maxlength' => true ]); ?> | |
35 | + | |
36 | +<?= $form->field($model_lang, '[' . $language->id . ']h1') | |
37 | + ->textInput([ 'maxlength' => true ]); ?> | ... | ... |
common/modules/blog/views/blog-category/_search.php
100644 → 100755
common/modules/blog/views/blog-category/create.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | - | |
5 | - | |
6 | -/* @var $this yii\web\View */ | |
7 | -/* @var $model common\modules\blog\models\BlogCategory */ | |
8 | - | |
9 | -$this->title = 'Create Blog Category'; | |
10 | -$this->params['breadcrumbs'][] = ['label' => 'Blog Categories', 'url' => ['index']]; | |
11 | -$this->params['breadcrumbs'][] = $this->title; | |
2 | + | |
3 | + use common\modules\blog\models\BlogArticleLang; | |
4 | + use common\modules\blog\models\BlogCategory; | |
5 | + use yii\helpers\Html; | |
6 | + use yii\web\View; | |
7 | + | |
8 | + /** | |
9 | + * @var View $this | |
10 | + * @var BlogCategory $model | |
11 | + * @var BlogArticleLang[] $modelLangs | |
12 | + * @var array $parentCategories | |
13 | + */ | |
14 | + | |
15 | + $this->title = 'Create Blog Category'; | |
16 | + $this->params[ 'breadcrumbs' ][] = [ | |
17 | + 'label' => 'Blog Categories', | |
18 | + 'url' => [ 'index' ], | |
19 | + ]; | |
20 | + $this->params[ 'breadcrumbs' ][] = $this->title; | |
12 | 21 | ?> |
13 | 22 | <div class="blog-category-create"> |
14 | - | |
23 | + | |
15 | 24 | <h1><?= Html::encode($this->title) ?></h1> |
16 | - | |
17 | - <?= $this->render('_form', [ | |
18 | - 'model' => $model, | |
19 | - ]) ?> | |
25 | + | |
26 | + <?= $this->render( | |
27 | + '_form', | |
28 | + [ | |
29 | + 'model' => $model, | |
30 | + 'modelLangs' => $modelLangs, | |
31 | + 'parentCategories' => $parentCategories, | |
32 | + ] | |
33 | + ) ?> | |
20 | 34 | |
21 | 35 | </div> | ... | ... |
common/modules/blog/views/blog-category/index.php
100644 → 100755
common/modules/blog/views/blog-category/update.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | - | |
5 | -/* @var $this yii\web\View */ | |
6 | -/* @var $model common\modules\blog\models\BlogCategory */ | |
7 | - | |
8 | -$this->title = 'Update Blog Category: ' . $model->id; | |
9 | -$this->params['breadcrumbs'][] = ['label' => 'Blog Categories', 'url' => ['index']]; | |
10 | -$this->params['breadcrumbs'][] = ['label' => $model->id, 'url' => ['view', 'id' => $model->id]]; | |
11 | -$this->params['breadcrumbs'][] = 'Update'; | |
2 | + | |
3 | + use common\modules\blog\models\BlogCategory; | |
4 | + use common\modules\blog\models\BlogCategoryLang; | |
5 | + use yii\helpers\Html; | |
6 | + use yii\web\View; | |
7 | + | |
8 | + /** | |
9 | + * @var View $this | |
10 | + * @var BlogCategory $model | |
11 | + * @var BlogCategoryLang $modelLangs | |
12 | + * @var array $parentCategories | |
13 | + */ | |
14 | + | |
15 | + $this->title = 'Update Blog Category: ' . $model->id; | |
16 | + $this->params[ 'breadcrumbs' ][] = [ | |
17 | + 'label' => 'Blog Categories', | |
18 | + 'url' => [ 'index' ], | |
19 | + ]; | |
20 | + $this->params[ 'breadcrumbs' ][] = [ | |
21 | + 'label' => $model->id, | |
22 | + 'url' => [ | |
23 | + 'view', | |
24 | + 'id' => $model->id, | |
25 | + ], | |
26 | + ]; | |
27 | + $this->params[ 'breadcrumbs' ][] = 'Update'; | |
12 | 28 | ?> |
13 | 29 | <div class="blog-category-update"> |
14 | - | |
30 | + | |
15 | 31 | <h1><?= Html::encode($this->title) ?></h1> |
16 | - | |
17 | - <?= $this->render('_form', [ | |
18 | - 'model' => $model, | |
19 | - ]) ?> | |
32 | + | |
33 | + <?= $this->render( | |
34 | + '_form', | |
35 | + [ | |
36 | + 'model' => $model, | |
37 | + 'modelLangs' => $modelLangs, | |
38 | + 'parentCategories' => $parentCategories, | |
39 | + ] | |
40 | + ) ?> | |
20 | 41 | |
21 | 42 | </div> | ... | ... |
common/modules/blog/views/blog-category/view.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | -use yii\widgets\ActiveForm; | |
5 | - | |
6 | -/* @var $this yii\web\View */ | |
7 | -/* @var $model common\modules\blog\models\BlogTag */ | |
8 | -/* @var $form yii\widgets\ActiveForm */ | |
2 | + | |
3 | + use common\modules\blog\models\BlogTag; | |
4 | + use common\modules\blog\models\BlogTagLang; | |
5 | + use yii\helpers\Html; | |
6 | + use yii\web\View; | |
7 | + use yii\widgets\ActiveForm; | |
8 | + use common\modules\language\widgets\LanguageForm; | |
9 | + | |
10 | + /** | |
11 | + * @var View $this | |
12 | + * @var BlogTag $model | |
13 | + * @var ActiveForm $form | |
14 | + * @var BlogTagLang[] $modelLangs | |
15 | + */ | |
9 | 16 | ?> |
10 | 17 | |
11 | 18 | <div class="blog-tag-form"> |
12 | - | |
19 | + | |
13 | 20 | <?php $form = ActiveForm::begin(); ?> |
14 | - | |
15 | - <?= $form->field($model, 'id')->textInput() ?> | |
16 | - | |
21 | + | |
22 | + <?php | |
23 | + echo LanguageForm::widget( | |
24 | + [ | |
25 | + 'modelLangs' => $modelLangs, | |
26 | + 'formView' => '@common/modules/blog/views/blog-tag/_form_language', | |
27 | + 'form' => $form, | |
28 | + ] | |
29 | + ); | |
30 | + ?> | |
31 | + | |
17 | 32 | <div class="form-group"> |
18 | - <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> | |
33 | + <?= Html::submitButton( | |
34 | + $model->isNewRecord ? 'Create' : 'Update', | |
35 | + [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ] | |
36 | + ) ?> | |
19 | 37 | </div> |
20 | - | |
38 | + | |
21 | 39 | <?php ActiveForm::end(); ?> |
22 | 40 | |
23 | 41 | </div> | ... | ... |
common/modules/blog/views/blog-tag/_form_language.php
0 → 100755
1 | +<?php | |
2 | + use common\models\ArticleLang; | |
3 | + use common\modules\language\models\Language; | |
4 | + use yii\web\View; | |
5 | + use yii\widgets\ActiveForm; | |
6 | + | |
7 | + /** | |
8 | + * @var ArticleLang $model_lang | |
9 | + * @var Language $language | |
10 | + * @var ActiveForm $form | |
11 | + * @var View $this | |
12 | + */ | |
13 | +?> | |
14 | +<?= $form->field($model_lang, '[' . $language->id . ']label') | |
15 | + ->textInput([ 'maxlength' => true ]); ?> | ... | ... |
common/modules/blog/views/blog-tag/_search.php
100644 → 100755
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | - | |
5 | - | |
6 | -/* @var $this yii\web\View */ | |
7 | -/* @var $model common\modules\blog\models\BlogTag */ | |
8 | - | |
9 | -$this->title = 'Create Blog Tag'; | |
10 | -$this->params['breadcrumbs'][] = ['label' => 'Blog Tags', 'url' => ['index']]; | |
11 | -$this->params['breadcrumbs'][] = $this->title; | |
2 | + | |
3 | + use common\modules\blog\models\BlogTag; | |
4 | + use common\modules\blog\models\BlogTagLang; | |
5 | + use yii\helpers\Html; | |
6 | + use yii\web\View; | |
7 | + | |
8 | + /** | |
9 | + * @var View $this | |
10 | + * @var BlogTagLang[] $modelLangs | |
11 | + * @var BlogTag $model | |
12 | + */ | |
13 | + | |
14 | + $this->title = 'Create Blog Tag'; | |
15 | + $this->params[ 'breadcrumbs' ][] = [ | |
16 | + 'label' => 'Blog Tags', | |
17 | + 'url' => [ 'index' ], | |
18 | + ]; | |
19 | + $this->params[ 'breadcrumbs' ][] = $this->title; | |
12 | 20 | ?> |
13 | 21 | <div class="blog-tag-create"> |
14 | - | |
22 | + | |
15 | 23 | <h1><?= Html::encode($this->title) ?></h1> |
16 | - | |
17 | - <?= $this->render('_form', [ | |
18 | - 'model' => $model, | |
19 | - ]) ?> | |
24 | + | |
25 | + <?= $this->render( | |
26 | + '_form', | |
27 | + [ | |
28 | + 'model' => $model, | |
29 | + 'modelLangs' => $modelLangs, | |
30 | + ] | |
31 | + ) ?> | |
20 | 32 | |
21 | 33 | </div> | ... | ... |
1 | 1 | <?php |
2 | - | |
3 | -use yii\helpers\Html; | |
4 | - | |
5 | -/* @var $this yii\web\View */ | |
6 | -/* @var $model common\modules\blog\models\BlogTag */ | |
7 | - | |
8 | -$this->title = 'Update Blog Tag: ' . $model->id; | |
9 | -$this->params['breadcrumbs'][] = ['label' => 'Blog Tags', 'url' => ['index']]; | |
10 | -$this->params['breadcrumbs'][] = ['label' => $model->id, 'url' => ['view', 'id' => $model->id]]; | |
11 | -$this->params['breadcrumbs'][] = 'Update'; | |
2 | + | |
3 | + use common\modules\blog\models\BlogTag; | |
4 | + use common\modules\blog\models\BlogTagLang; | |
5 | + use yii\helpers\Html; | |
6 | + use yii\web\View; | |
7 | + | |
8 | + /** | |
9 | + * @var View $this | |
10 | + * @var BlogTagLang[] $modelLangs | |
11 | + * @var BlogTag $model | |
12 | + */ | |
13 | + | |
14 | + $this->title = 'Update Blog Tag: ' . $model->id; | |
15 | + $this->params[ 'breadcrumbs' ][] = [ | |
16 | + 'label' => 'Blog Tags', | |
17 | + 'url' => [ 'index' ], | |
18 | + ]; | |
19 | + $this->params[ 'breadcrumbs' ][] = [ | |
20 | + 'label' => $model->id, | |
21 | + 'url' => [ | |
22 | + 'view', | |
23 | + 'id' => $model->id, | |
24 | + ], | |
25 | + ]; | |
26 | + $this->params[ 'breadcrumbs' ][] = 'Update'; | |
12 | 27 | ?> |
13 | 28 | <div class="blog-tag-update"> |
14 | - | |
29 | + | |
15 | 30 | <h1><?= Html::encode($this->title) ?></h1> |
16 | - | |
17 | - <?= $this->render('_form', [ | |
18 | - 'model' => $model, | |
19 | - ]) ?> | |
31 | + | |
32 | + <?= $this->render( | |
33 | + '_form', | |
34 | + [ | |
35 | + 'model' => $model, | |
36 | + 'modelLangs' => $modelLangs, | |
37 | + ] | |
38 | + ) ?> | |
20 | 39 | |
21 | 40 | </div> | ... | ... |
storage/.htaccess