Commit ba196ec2a73b4cb2d3c0e6755a8f6c57bb4fd8e2
1 parent
3b1725bf
-Blog in process
Showing
27 changed files
with
421 additions
and
422 deletions
Show diff stats
controllers/ArticleController.php
@@ -87,22 +87,22 @@ | @@ -87,22 +87,22 @@ | ||
87 | { | 87 | { |
88 | $model = new Article(); | 88 | $model = new Article(); |
89 | $model->generateLangs(); | 89 | $model->generateLangs(); |
90 | - | ||
91 | - $categories = ArrayHelper::map( | ||
92 | - BlogCategory::find() | ||
93 | - ->joinWith('lang') | ||
94 | - ->all(), | ||
95 | - 'id', | ||
96 | - 'lang.title' | ||
97 | - ); | ||
98 | - | ||
99 | - $tags = ArrayHelper::map( | ||
100 | - BlogTag::find() | ||
101 | - ->joinWith('lang') | ||
102 | - ->all(), | ||
103 | - 'id', | ||
104 | - 'lang.label' | ||
105 | - ); | 90 | + |
91 | + // $categories = ArrayHelper::map( | ||
92 | + // BlogCategory::find() | ||
93 | + // ->joinWith('lang') | ||
94 | + // ->all(), | ||
95 | + // 'id', | ||
96 | + // 'lang.title' | ||
97 | + // ); | ||
98 | + // | ||
99 | + // $tags = ArrayHelper::map( | ||
100 | + // BlogTag::find() | ||
101 | + // ->joinWith('lang') | ||
102 | + // ->all(), | ||
103 | + // 'id', | ||
104 | + // 'lang.label' | ||
105 | + // ); | ||
106 | 106 | ||
107 | if ($model->load(Yii::$app->request->post())) { | 107 | if ($model->load(Yii::$app->request->post())) { |
108 | $model->loadLangs(\Yii::$app->request); | 108 | $model->loadLangs(\Yii::$app->request); |
@@ -153,8 +153,8 @@ | @@ -153,8 +153,8 @@ | ||
153 | [ | 153 | [ |
154 | 'model' => $model, | 154 | 'model' => $model, |
155 | 'modelLangs' => $model->modelLangs, | 155 | 'modelLangs' => $model->modelLangs, |
156 | - 'categories' => $categories, | ||
157 | - 'tags' => $tags, | 156 | + // 'categories' => $categories, |
157 | + // 'tags' => $tags, | ||
158 | 'products' => [], | 158 | 'products' => [], |
159 | 'articles' => [], | 159 | 'articles' => [], |
160 | ] | 160 | ] |
@@ -287,75 +287,75 @@ | @@ -287,75 +287,75 @@ | ||
287 | return $this->redirect([ 'index' ]); | 287 | return $this->redirect([ 'index' ]); |
288 | } | 288 | } |
289 | 289 | ||
290 | - public function actionDeleteImage($id) | ||
291 | - { | ||
292 | - $model = $this->findModel($id); | ||
293 | - $model->image = null; | ||
294 | - $model->updateAttributes(['image']); | ||
295 | - return true; | ||
296 | - } | ||
297 | - | ||
298 | /** | 290 | /** |
299 | * Finds the BlogArticle model based on its primary key value. | 291 | * Finds the BlogArticle model based on its primary key value. |
300 | * If the model is not found, a 404 HTTP exception will be thrown. | 292 | * If the model is not found, a 404 HTTP exception will be thrown. |
293 | + | ||
294 | +* | ||
295 | +*@param integer $id | ||
301 | * | 296 | * |
302 | - * @param integer $id | ||
303 | - * | ||
304 | - * @return BlogArticle the loaded model | 297 | +*@return Article the loaded model |
305 | * @throws NotFoundHttpException if the model cannot be found | 298 | * @throws NotFoundHttpException if the model cannot be found |
306 | */ | 299 | */ |
307 | protected function findModel($id) | 300 | protected function findModel($id) |
308 | { | 301 | { |
309 | - if (( $model = BlogArticle::findOne($id) ) !== NULL) { | 302 | + if (( $model = Article::findOne($id) ) !== null) { |
310 | return $model; | 303 | return $model; |
311 | } else { | 304 | } else { |
312 | throw new NotFoundHttpException('The requested page does not exist.'); | 305 | throw new NotFoundHttpException('The requested page does not exist.'); |
313 | } | 306 | } |
314 | } | 307 | } |
315 | - | ||
316 | - /** | ||
317 | - * @param string $q | ||
318 | - * @param null $id | ||
319 | - * | ||
320 | - * @return array | ||
321 | - */ | ||
322 | - public function actionProductList($q = NULL, $id = NULL) | 308 | + |
309 | + public function actionList($q = null, $id = null) | ||
323 | { | 310 | { |
324 | \Yii::$app->response->format = Response::FORMAT_JSON; | 311 | \Yii::$app->response->format = Response::FORMAT_JSON; |
325 | $out = [ | 312 | $out = [ |
326 | 'results' => [ | 313 | 'results' => [ |
327 | - 'id' => '', | ||
328 | - 'text' => '', | 314 | + [ |
315 | + 'id' => '', | ||
316 | + 'text' => '', | ||
317 | + ], | ||
329 | ], | 318 | ], |
330 | ]; | 319 | ]; |
331 | if (!is_null($q)) { | 320 | if (!is_null($q)) { |
332 | - $out[ 'results' ] = Product::find() | ||
333 | - ->joinWith('lang') | ||
334 | - ->select( | ||
335 | - [ | ||
336 | - 'id', | ||
337 | - 'product_lang.title as text', | ||
338 | - ] | ||
339 | - ) | ||
340 | - ->where( | ||
341 | - [ | ||
342 | - 'like', | ||
343 | - 'product_lang.title', | ||
344 | - $q, | ||
345 | - ] | ||
346 | - ) | ||
347 | - ->limit(20) | ||
348 | - ->asArray() | ||
349 | - ->all(); | ||
350 | - } elseif ($id > 0) { | ||
351 | - $out[ 'results' ] = [ | ||
352 | - 'id' => $id, | ||
353 | - 'text' => Product::find() | 321 | + $categories = Article::find() |
354 | ->joinWith('lang') | 322 | ->joinWith('lang') |
355 | - ->where([ 'id' => $id ]) | ||
356 | - ->one()->title, | ||
357 | - ]; | 323 | + ->select( |
324 | + [ | ||
325 | + 'id', | ||
326 | + 'text' => 'category_lang.title', | ||
327 | + ] | ||
328 | + ) | ||
329 | + ->filterWhere( | ||
330 | + [ | ||
331 | + '!=', | ||
332 | + 'id', | ||
333 | + $id, | ||
334 | + ] | ||
335 | + ) | ||
336 | + ->andFilterWhere( | ||
337 | + [ | ||
338 | + 'like', | ||
339 | + 'category_lang.title', | ||
340 | + $q, | ||
341 | + ] | ||
342 | + ) | ||
343 | + ->andFilterWhere( | ||
344 | + [ | ||
345 | + '!=', | ||
346 | + 'parent_id', | ||
347 | + $id, | ||
348 | + ] | ||
349 | + ) | ||
350 | + ->limit(20) | ||
351 | + ->asArray() | ||
352 | + ->all(); | ||
353 | + | ||
354 | + if (!empty($categories)) { | ||
355 | + $out[ 'results' ] = $categories; | ||
356 | + } | ||
358 | } | 357 | } |
358 | + | ||
359 | return $out; | 359 | return $out; |
360 | } | 360 | } |
361 | 361 |
controllers/BlogCategoryController.php renamed to controllers/CategoryController.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace artbox\weblog\controllers; | 3 | namespace artbox\weblog\controllers; |
4 | - | 4 | + |
5 | + use artbox\weblog\models\CategorySearch; | ||
5 | use Yii; | 6 | use Yii; |
6 | - use artbox\weblog\models\BlogCategory; | ||
7 | - use artbox\weblog\models\BlogCategorySearch; | ||
8 | use yii\helpers\ArrayHelper; | 7 | use yii\helpers\ArrayHelper; |
9 | use yii\web\Controller; | 8 | use yii\web\Controller; |
10 | use yii\web\NotFoundHttpException; | 9 | use yii\web\NotFoundHttpException; |
11 | use yii\filters\VerbFilter; | 10 | use yii\filters\VerbFilter; |
12 | - | 11 | + |
13 | /** | 12 | /** |
14 | * BlogCategoryController implements the CRUD actions for BlogCategory model. | 13 | * BlogCategoryController implements the CRUD actions for BlogCategory model. |
15 | */ | 14 | */ |
16 | - class BlogCategoryController extends Controller | 15 | + class CategoryController extends Controller |
17 | { | 16 | { |
18 | /** | 17 | /** |
19 | * @inheritdoc | 18 | * @inheritdoc |
20 | */ | 19 | */ |
20 | + public function getViewPath() | ||
21 | + { | ||
22 | + return '@artbox/weblog/views/blog-category'; | ||
23 | + } | ||
24 | + | ||
25 | + /** | ||
26 | + * @inheritdoc | ||
27 | + */ | ||
21 | public function behaviors() | 28 | public function behaviors() |
22 | { | 29 | { |
23 | return [ | 30 | return [ |
@@ -29,7 +36,7 @@ | @@ -29,7 +36,7 @@ | ||
29 | ], | 36 | ], |
30 | ]; | 37 | ]; |
31 | } | 38 | } |
32 | - | 39 | + |
33 | /** | 40 | /** |
34 | * Lists all BlogCategory models. | 41 | * Lists all BlogCategory models. |
35 | * | 42 | * |
@@ -37,9 +44,9 @@ | @@ -37,9 +44,9 @@ | ||
37 | */ | 44 | */ |
38 | public function actionIndex() | 45 | public function actionIndex() |
39 | { | 46 | { |
40 | - $searchModel = new BlogCategorySearch(); | 47 | + $searchModel = new CategorySearch(); |
41 | $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | 48 | $dataProvider = $searchModel->search(Yii::$app->request->queryParams); |
42 | - | 49 | + |
43 | return $this->render( | 50 | return $this->render( |
44 | 'index', | 51 | 'index', |
45 | [ | 52 | [ |
@@ -48,7 +55,7 @@ | @@ -48,7 +55,7 @@ | ||
48 | ] | 55 | ] |
49 | ); | 56 | ); |
50 | } | 57 | } |
51 | - | 58 | + |
52 | /** | 59 | /** |
53 | * Displays a single BlogCategory model. | 60 | * Displays a single BlogCategory model. |
54 | * | 61 | * |
@@ -65,7 +72,7 @@ | @@ -65,7 +72,7 @@ | ||
65 | ] | 72 | ] |
66 | ); | 73 | ); |
67 | } | 74 | } |
68 | - | 75 | + |
69 | /** | 76 | /** |
70 | * Creates a new BlogCategory model. | 77 | * Creates a new BlogCategory model. |
71 | * If creation is successful, the browser will be redirected to the 'view' page. | 78 | * If creation is successful, the browser will be redirected to the 'view' page. |
@@ -88,7 +95,7 @@ | @@ -88,7 +95,7 @@ | ||
88 | 'id', | 95 | 'id', |
89 | 'lang.title' | 96 | 'lang.title' |
90 | ); | 97 | ); |
91 | - | 98 | + |
92 | if ($model->load(Yii::$app->request->post())) { | 99 | if ($model->load(Yii::$app->request->post())) { |
93 | $model->loadLangs(\Yii::$app->request); | 100 | $model->loadLangs(\Yii::$app->request); |
94 | if ($model->save() && $model->transactionStatus) { | 101 | if ($model->save() && $model->transactionStatus) { |
@@ -108,9 +115,9 @@ | @@ -108,9 +115,9 @@ | ||
108 | 'parentCategories' => $parentCategories, | 115 | 'parentCategories' => $parentCategories, |
109 | ] | 116 | ] |
110 | ); | 117 | ); |
111 | - | 118 | + |
112 | } | 119 | } |
113 | - | 120 | + |
114 | /** | 121 | /** |
115 | * Updates an existing BlogCategory model. | 122 | * Updates an existing BlogCategory model. |
116 | * If update is successful, the browser will be redirected to the 'view' page. | 123 | * If update is successful, the browser will be redirected to the 'view' page. |
@@ -142,7 +149,7 @@ | @@ -142,7 +149,7 @@ | ||
142 | 'id', | 149 | 'id', |
143 | 'lang.title' | 150 | 'lang.title' |
144 | ); | 151 | ); |
145 | - | 152 | + |
146 | if ($model->load(Yii::$app->request->post())) { | 153 | if ($model->load(Yii::$app->request->post())) { |
147 | $model->loadLangs(\Yii::$app->request); | 154 | $model->loadLangs(\Yii::$app->request); |
148 | if ($model->save() && $model->transactionStatus) { | 155 | if ($model->save() && $model->transactionStatus) { |
@@ -162,9 +169,9 @@ | @@ -162,9 +169,9 @@ | ||
162 | 'parentCategories' => $parentCategories, | 169 | 'parentCategories' => $parentCategories, |
163 | ] | 170 | ] |
164 | ); | 171 | ); |
165 | - | 172 | + |
166 | } | 173 | } |
167 | - | 174 | + |
168 | /** | 175 | /** |
169 | * Deletes an existing BlogCategory model. | 176 | * Deletes an existing BlogCategory model. |
170 | * If deletion is successful, the browser will be redirected to the 'index' page. | 177 | * If deletion is successful, the browser will be redirected to the 'index' page. |
@@ -177,7 +184,7 @@ | @@ -177,7 +184,7 @@ | ||
177 | { | 184 | { |
178 | $this->findModel($id) | 185 | $this->findModel($id) |
179 | ->delete(); | 186 | ->delete(); |
180 | - | 187 | + |
181 | return $this->redirect([ 'index' ]); | 188 | return $this->redirect([ 'index' ]); |
182 | } | 189 | } |
183 | 190 | ||
@@ -188,7 +195,7 @@ | @@ -188,7 +195,7 @@ | ||
188 | $model->updateAttributes(['image']); | 195 | $model->updateAttributes(['image']); |
189 | return true; | 196 | return true; |
190 | } | 197 | } |
191 | - | 198 | + |
192 | /** | 199 | /** |
193 | * Finds the BlogCategory model based on its primary key value. | 200 | * Finds the BlogCategory model based on its primary key value. |
194 | * If the model is not found, a 404 HTTP exception will be thrown. | 201 | * If the model is not found, a 404 HTTP exception will be thrown. |
controllers/BlogTagController.php renamed to controllers/TagController.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | - namespace artweb\artbox\blog\controllers; | 3 | + namespace artbox\weblog\controllers; |
4 | 4 | ||
5 | + use artbox\weblog\models\TagSearch; | ||
5 | use Yii; | 6 | use Yii; |
6 | - use artbox\weblog\models\BlogTag; | ||
7 | - use artbox\weblog\models\BlogTagSearch; | ||
8 | use yii\web\Controller; | 7 | use yii\web\Controller; |
9 | use yii\web\NotFoundHttpException; | 8 | use yii\web\NotFoundHttpException; |
10 | use yii\filters\VerbFilter; | 9 | use yii\filters\VerbFilter; |
@@ -12,8 +11,13 @@ | @@ -12,8 +11,13 @@ | ||
12 | /** | 11 | /** |
13 | * BlogTagController implements the CRUD actions for BlogTag model. | 12 | * BlogTagController implements the CRUD actions for BlogTag model. |
14 | */ | 13 | */ |
15 | - class BlogTagController extends Controller | 14 | + class TagController extends Controller |
16 | { | 15 | { |
16 | + public function getViewPath() | ||
17 | + { | ||
18 | + return '@artbox/weblog/views/blog-tag'; | ||
19 | + } | ||
20 | + | ||
17 | /** | 21 | /** |
18 | * @inheritdoc | 22 | * @inheritdoc |
19 | */ | 23 | */ |
@@ -36,7 +40,7 @@ | @@ -36,7 +40,7 @@ | ||
36 | */ | 40 | */ |
37 | public function actionIndex() | 41 | public function actionIndex() |
38 | { | 42 | { |
39 | - $searchModel = new BlogTagSearch(); | 43 | + $searchModel = new TagSearch(); |
40 | $dataProvider = $searchModel->search(Yii::$app->request->queryParams); | 44 | $dataProvider = $searchModel->search(Yii::$app->request->queryParams); |
41 | 45 | ||
42 | return $this->render( | 46 | return $this->render( |
migrations/m161101_142334_blog_article.php
@@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
13 | 'blog_article', | 13 | 'blog_article', |
14 | [ | 14 | [ |
15 | 'id' => $this->primaryKey(), | 15 | 'id' => $this->primaryKey(), |
16 | - 'image' => $this->string(255), | 16 | + 'image_id' => $this->integer(), |
17 | 'created_at' => $this->integer(), | 17 | 'created_at' => $this->integer(), |
18 | 'updated_at' => $this->integer(), | 18 | 'updated_at' => $this->integer(), |
19 | 'deleted_at' => $this->integer(), | 19 | 'deleted_at' => $this->integer(), |
migrations/m161101_142752_blog_article_lang.php
@@ -12,19 +12,15 @@ | @@ -12,19 +12,15 @@ | ||
12 | $this->createTable( | 12 | $this->createTable( |
13 | 'blog_article_lang', | 13 | 'blog_article_lang', |
14 | [ | 14 | [ |
15 | - 'id' => $this->primaryKey(), | ||
16 | - 'blog_article_id' => $this->integer() | 15 | + 'id' => $this->primaryKey(), |
16 | + 'blog_article_id' => $this->integer() | ||
17 | ->notNull(), | 17 | ->notNull(), |
18 | - 'language_id' => $this->integer() | ||
19 | - ->notNull(), | ||
20 | - 'title' => $this->string(255), | ||
21 | - 'body' => $this->text(), | ||
22 | - 'body_preview' => $this->text(), | ||
23 | - 'alias' => $this->string(255), | ||
24 | - 'meta_title' => $this->string(255), | ||
25 | - 'meta_description' => $this->string(255), | ||
26 | - 'h1' => $this->string(255), | ||
27 | - 'seo_text' => $this->string(255), | 18 | + 'language_id' => $this->integer() |
19 | + ->notNull(), | ||
20 | + 'title' => $this->string(255), | ||
21 | + 'body' => $this->text(), | ||
22 | + 'body_preview' => $this->text(), | ||
23 | + 'alias_id' => $this->integer(), | ||
28 | ] | 24 | ] |
29 | ); | 25 | ); |
30 | 26 | ||
@@ -44,7 +40,7 @@ | @@ -44,7 +40,7 @@ | ||
44 | $this->createIndex( | 40 | $this->createIndex( |
45 | 'blog_article_alias_uk', | 41 | 'blog_article_alias_uk', |
46 | 'blog_article_lang', | 42 | 'blog_article_lang', |
47 | - 'alias', | 43 | + 'alias_id', |
48 | true | 44 | true |
49 | ); | 45 | ); |
50 | 46 |
migrations/m161101_143033_blog_category.php
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | [ | 14 | [ |
15 | 'id' => $this->primaryKey(), | 15 | 'id' => $this->primaryKey(), |
16 | 'sort' => $this->integer(), | 16 | 'sort' => $this->integer(), |
17 | - 'image' => $this->string(255), | 17 | + 'image_id' => $this->integer(), |
18 | 'parent_id' => $this->integer() | 18 | 'parent_id' => $this->integer() |
19 | ->defaultValue(0), | 19 | ->defaultValue(0), |
20 | 'status' => $this->boolean(), | 20 | 'status' => $this->boolean(), |
migrations/m161101_143259_blog_category_lang.php
@@ -18,12 +18,8 @@ | @@ -18,12 +18,8 @@ | ||
18 | 'language_id' => $this->integer() | 18 | 'language_id' => $this->integer() |
19 | ->notNull(), | 19 | ->notNull(), |
20 | 'title' => $this->string(255), | 20 | 'title' => $this->string(255), |
21 | - 'alias' => $this->string(255), | 21 | + 'alias_id' => $this->integer(), |
22 | 'description' => $this->text(), | 22 | 'description' => $this->text(), |
23 | - 'meta_title' => $this->string(255), | ||
24 | - 'meta_description' => $this->string(255), | ||
25 | - 'h1' => $this->string(255), | ||
26 | - 'seo_text' => $this->string(255), | ||
27 | ] | 23 | ] |
28 | ); | 24 | ); |
29 | 25 | ||
@@ -43,7 +39,7 @@ | @@ -43,7 +39,7 @@ | ||
43 | $this->createIndex( | 39 | $this->createIndex( |
44 | 'blog_category_alias_uk', | 40 | 'blog_category_alias_uk', |
45 | 'blog_category_lang', | 41 | 'blog_category_lang', |
46 | - 'alias', | 42 | + 'alias_id', |
47 | true | 43 | true |
48 | ); | 44 | ); |
49 | 45 |
migrations/m161101_143541_blog_article_to_category.php
@@ -12,7 +12,6 @@ | @@ -12,7 +12,6 @@ | ||
12 | $this->createTable( | 12 | $this->createTable( |
13 | 'blog_article_to_category', | 13 | 'blog_article_to_category', |
14 | [ | 14 | [ |
15 | - 'id' => $this->primaryKey(), | ||
16 | 'blog_article_id' => $this->integer() | 15 | 'blog_article_id' => $this->integer() |
17 | ->notNull(), | 16 | ->notNull(), |
18 | 'blog_category_id' => $this->integer() | 17 | 'blog_category_id' => $this->integer() |
migrations/m161101_143939_blog_tag_lang.php
@@ -17,6 +17,7 @@ | @@ -17,6 +17,7 @@ | ||
17 | ->notNull(), | 17 | ->notNull(), |
18 | 'language_id' => $this->integer() | 18 | 'language_id' => $this->integer() |
19 | ->notNull(), | 19 | ->notNull(), |
20 | + 'alias_id' => $this->integer(), | ||
20 | 'label' => $this->string(255), | 21 | 'label' => $this->string(255), |
21 | ] | 22 | ] |
22 | ); | 23 | ); |
@@ -33,6 +34,8 @@ | @@ -33,6 +34,8 @@ | ||
33 | ], | 34 | ], |
34 | true | 35 | true |
35 | ); | 36 | ); |
37 | + | ||
38 | + $this->createIndex('blog_tag_lang_auk', 'blog_tag_lang', 'alias_id', true); | ||
36 | 39 | ||
37 | $this->addForeignKey( | 40 | $this->addForeignKey( |
38 | 'blog_tag_lang_fk', | 41 | 'blog_tag_lang_fk', |
migrations/m161101_144140_blog_article_to_tag.php
@@ -12,7 +12,6 @@ | @@ -12,7 +12,6 @@ | ||
12 | $this->createTable( | 12 | $this->createTable( |
13 | 'blog_article_to_tag', | 13 | 'blog_article_to_tag', |
14 | [ | 14 | [ |
15 | - 'id' => $this->primaryKey(), | ||
16 | 'blog_article_id' => $this->integer() | 15 | 'blog_article_id' => $this->integer() |
17 | ->notNull(), | 16 | ->notNull(), |
18 | 'blog_tag_id' => $this->integer() | 17 | 'blog_tag_id' => $this->integer() |
migrations/m161101_144312_blog_article_to_article.php
@@ -12,7 +12,6 @@ | @@ -12,7 +12,6 @@ | ||
12 | $this->createTable( | 12 | $this->createTable( |
13 | 'blog_article_to_article', | 13 | 'blog_article_to_article', |
14 | [ | 14 | [ |
15 | - 'id' => $this->primaryKey(), | ||
16 | 'blog_article_id' => $this->integer() | 15 | 'blog_article_id' => $this->integer() |
17 | ->notNull(), | 16 | ->notNull(), |
18 | 'related_blog_article_id' => $this->integer() | 17 | 'related_blog_article_id' => $this->integer() |
migrations/m161101_144434_blog_article_to_product.php
@@ -12,7 +12,6 @@ | @@ -12,7 +12,6 @@ | ||
12 | $this->createTable( | 12 | $this->createTable( |
13 | 'blog_article_to_product', | 13 | 'blog_article_to_product', |
14 | [ | 14 | [ |
15 | - 'id' => $this->primaryKey(), | ||
16 | 'blog_article_id' => $this->integer() | 15 | 'blog_article_id' => $this->integer() |
17 | ->notNull(), | 16 | ->notNull(), |
18 | 'product_id' => $this->integer() | 17 | 'product_id' => $this->integer() |
models/Article.php
@@ -90,6 +90,7 @@ | @@ -90,6 +90,7 @@ | ||
90 | 'deleted_at', | 90 | 'deleted_at', |
91 | 'sort', | 91 | 'sort', |
92 | 'author_id', | 92 | 'author_id', |
93 | + 'image_id', | ||
93 | ], | 94 | ], |
94 | 'integer', | 95 | 'integer', |
95 | ], | 96 | ], |
@@ -97,11 +98,6 @@ | @@ -97,11 +98,6 @@ | ||
97 | [ 'status' ], | 98 | [ 'status' ], |
98 | 'boolean', | 99 | 'boolean', |
99 | ], | 100 | ], |
100 | - [ | ||
101 | - [ 'image' ], | ||
102 | - 'string', | ||
103 | - 'max' => 255, | ||
104 | - ], | ||
105 | ]; | 101 | ]; |
106 | } | 102 | } |
107 | 103 |
models/ArticleLang.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace artbox\weblog\models; | 3 | namespace artbox\weblog\models; |
4 | - | 4 | + |
5 | + use artbox\core\behaviors\SlugBehavior; | ||
5 | use artbox\core\models\Language; | 6 | use artbox\core\models\Language; |
6 | use yii\db\ActiveRecord; | 7 | use yii\db\ActiveRecord; |
7 | - | 8 | + |
8 | /** | 9 | /** |
9 | * This is the model class for table "blog_article_lang". | 10 | * This is the model class for table "blog_article_lang". |
10 | * | 11 | * |
@@ -31,12 +32,23 @@ | @@ -31,12 +32,23 @@ | ||
31 | { | 32 | { |
32 | return 'blog_article_lang'; | 33 | return 'blog_article_lang'; |
33 | } | 34 | } |
34 | - | 35 | + |
35 | public function behaviors() | 36 | public function behaviors() |
36 | { | 37 | { |
37 | - return []; | 38 | + return [ |
39 | + 'slug' => [ | ||
40 | + 'class' => SlugBehavior::className(), | ||
41 | + 'action' => 'article/view', | ||
42 | + 'params' => [ | ||
43 | + 'id' => 'blog_article_id', | ||
44 | + ], | ||
45 | + 'fields' => [ | ||
46 | + 'title' => 'Article title', | ||
47 | + ], | ||
48 | + ], | ||
49 | + ]; | ||
38 | } | 50 | } |
39 | - | 51 | + |
40 | /** | 52 | /** |
41 | * @inheritdoc | 53 | * @inheritdoc |
42 | */ | 54 | */ |
@@ -68,19 +80,11 @@ | @@ -68,19 +80,11 @@ | ||
68 | [ | 80 | [ |
69 | [ | 81 | [ |
70 | 'title', | 82 | 'title', |
71 | - 'alias', | ||
72 | - 'meta_title', | ||
73 | - 'meta_description', | ||
74 | - 'h1', | ||
75 | - 'seo_text', | ||
76 | ], | 83 | ], |
77 | 'string', | 84 | 'string', |
78 | 'max' => 255, | 85 | 'max' => 255, |
79 | ], | 86 | ], |
80 | - [ | ||
81 | - [ 'alias' ], | ||
82 | - 'unique', | ||
83 | - ], | 87 | + |
84 | [ | 88 | [ |
85 | [ | 89 | [ |
86 | 'blog_article_id', | 90 | 'blog_article_id', |
@@ -109,7 +113,7 @@ | @@ -109,7 +113,7 @@ | ||
109 | ], | 113 | ], |
110 | ]; | 114 | ]; |
111 | } | 115 | } |
112 | - | 116 | + |
113 | /** | 117 | /** |
114 | * @inheritdoc | 118 | * @inheritdoc |
115 | */ | 119 | */ |
@@ -129,7 +133,7 @@ | @@ -129,7 +133,7 @@ | ||
129 | 'seo_text' => 'Seo Text', | 133 | 'seo_text' => 'Seo Text', |
130 | ]; | 134 | ]; |
131 | } | 135 | } |
132 | - | 136 | + |
133 | /** | 137 | /** |
134 | * @return \yii\db\ActiveQuery | 138 | * @return \yii\db\ActiveQuery |
135 | */ | 139 | */ |
@@ -137,7 +141,7 @@ | @@ -137,7 +141,7 @@ | ||
137 | { | 141 | { |
138 | return $this->hasOne(Article::className(), [ 'id' => 'blog_article_id' ]); | 142 | return $this->hasOne(Article::className(), [ 'id' => 'blog_article_id' ]); |
139 | } | 143 | } |
140 | - | 144 | + |
141 | /** | 145 | /** |
142 | * @return \yii\db\ActiveQuery | 146 | * @return \yii\db\ActiveQuery |
143 | */ | 147 | */ |
models/ArticleSearch.php
@@ -30,10 +30,6 @@ | @@ -30,10 +30,6 @@ | ||
30 | 'integer', | 30 | 'integer', |
31 | ], | 31 | ], |
32 | [ | 32 | [ |
33 | - [ 'image' ], | ||
34 | - 'safe', | ||
35 | - ], | ||
36 | - [ | ||
37 | [ 'status' ], | 33 | [ 'status' ], |
38 | 'boolean', | 34 | 'boolean', |
39 | ], | 35 | ], |
@@ -112,14 +108,6 @@ | @@ -112,14 +108,6 @@ | ||
112 | $query->andFilterWhere( | 108 | $query->andFilterWhere( |
113 | [ | 109 | [ |
114 | 'like', | 110 | 'like', |
115 | - 'image', | ||
116 | - $this->image, | ||
117 | - ] | ||
118 | - ); | ||
119 | - | ||
120 | - $query->andFilterWhere( | ||
121 | - [ | ||
122 | - 'like', | ||
123 | 'blog_article_lang.title', | 111 | 'blog_article_lang.title', |
124 | $this->title, | 112 | $this->title, |
125 | ] | 113 | ] |
models/BlogCategory.php renamed to models/Category.php
@@ -10,13 +10,14 @@ | @@ -10,13 +10,14 @@ | ||
10 | 10 | ||
11 | /** | 11 | /** |
12 | * This is the model class for table "blog_category". | 12 | * This is the model class for table "blog_category". |
13 | - * | ||
14 | - * @property integer $id | 13 | + |
14 | +* | ||
15 | +*@property integer $id | ||
15 | * @property integer $sort | 16 | * @property integer $sort |
16 | * @property string $image | 17 | * @property string $image |
17 | * @property integer $parent_id | 18 | * @property integer $parent_id |
18 | * @property boolean $status | 19 | * @property boolean $status |
19 | - * @property BlogArticle[] $blogArticles | 20 | + * @property Article[] $blogArticles |
20 | * @property BlogCategoryLang[] $blogCategoryLangs | 21 | * @property BlogCategoryLang[] $blogCategoryLangs |
21 | * @property Language[] $languages | 22 | * @property Language[] $languages |
22 | * @property BlogCategory $parent | 23 | * @property BlogCategory $parent |
@@ -47,7 +48,7 @@ | @@ -47,7 +48,7 @@ | ||
47 | * @method string|null getImageUrl( int $field ) | 48 | * @method string|null getImageUrl( int $field ) |
48 | * * End SaveImgBehavior | 49 | * * End SaveImgBehavior |
49 | */ | 50 | */ |
50 | - class BlogCategory extends ActiveRecord | 51 | + class Category extends ActiveRecord |
51 | { | 52 | { |
52 | /** | 53 | /** |
53 | * @inheritdoc | 54 | * @inheritdoc |
@@ -63,21 +64,9 @@ | @@ -63,21 +64,9 @@ | ||
63 | public function behaviors() | 64 | public function behaviors() |
64 | { | 65 | { |
65 | return [ | 66 | return [ |
66 | - [ | ||
67 | - 'class' => SaveImgBehavior::className(), | ||
68 | - 'fields' => [ | ||
69 | - [ | ||
70 | - 'name' => 'image', | ||
71 | - 'directory' => 'blog/category', | ||
72 | - ], | ||
73 | - ], | ||
74 | - ], | ||
75 | 'language' => [ | 67 | 'language' => [ |
76 | 'class' => LanguageBehavior::className(), | 68 | 'class' => LanguageBehavior::className(), |
77 | ], | 69 | ], |
78 | - 'Slug' => [ | ||
79 | - 'class' => 'artweb\artbox\behaviors\Slug', | ||
80 | - ], | ||
81 | ]; | 70 | ]; |
82 | } | 71 | } |
83 | 72 |
models/BlogCategoryLang.php renamed to models/CategoryLang.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace artbox\weblog\models; | 3 | namespace artbox\weblog\models; |
4 | - | 4 | + |
5 | + use artbox\core\behaviors\SlugBehavior; | ||
5 | use yii\db\ActiveRecord; | 6 | use yii\db\ActiveRecord; |
6 | use artbox\core\models\Language; | 7 | use artbox\core\models\Language; |
7 | - | 8 | + |
8 | /** | 9 | /** |
9 | * This is the model class for table "blog_category_lang". | 10 | * This is the model class for table "blog_category_lang". |
10 | - * | ||
11 | - * @property integer $id | ||
12 | - * @property integer $blog_category_id | ||
13 | - * @property integer $language_id | ||
14 | - * @property string $title | ||
15 | - * @property string $alias | ||
16 | - * @property string $description | ||
17 | - * @property string $meta_title | ||
18 | - * @property string $meta_description | ||
19 | - * @property string $h1 | ||
20 | - * @property string $seo_text | ||
21 | - * @property BlogCategory $blogCategory | ||
22 | - * @property Language $language | 11 | + |
12 | +* | ||
13 | + * @property integer $id | ||
14 | + * @property integer $blog_category_id | ||
15 | + * @property integer $language_id | ||
16 | + * @property string $title | ||
17 | + * @property string $alias | ||
18 | + * @property string $description | ||
19 | + * @property string $meta_title | ||
20 | + * @property string $meta_description | ||
21 | + * @property string $h1 | ||
22 | + * @property string $seo_text | ||
23 | + * @property Category $blogCategory | ||
24 | + * @property Language $language | ||
23 | */ | 25 | */ |
24 | - class BlogCategoryLang extends ActiveRecord | 26 | + class CategoryLang extends ActiveRecord |
25 | { | 27 | { |
26 | /** | 28 | /** |
27 | * @inheritdoc | 29 | * @inheritdoc |
@@ -30,16 +32,23 @@ | @@ -30,16 +32,23 @@ | ||
30 | { | 32 | { |
31 | return 'blog_category_lang'; | 33 | return 'blog_category_lang'; |
32 | } | 34 | } |
33 | - | 35 | + |
34 | public function behaviors() | 36 | public function behaviors() |
35 | { | 37 | { |
36 | return [ | 38 | return [ |
37 | 'slug' => [ | 39 | 'slug' => [ |
38 | - 'class' => 'artweb\artbox\behaviors\Slug', | 40 | + 'class' => SlugBehavior::className(), |
41 | + 'action' => 'blog-category/view', | ||
42 | + 'params' => [ | ||
43 | + 'id' => 'blog_category_id', | ||
44 | + ], | ||
45 | + 'fields' => [ | ||
46 | + 'title' => 'Category title', | ||
47 | + ], | ||
39 | ], | 48 | ], |
40 | ]; | 49 | ]; |
41 | } | 50 | } |
42 | - | 51 | + |
43 | /** | 52 | /** |
44 | * @inheritdoc | 53 | * @inheritdoc |
45 | */ | 54 | */ |
@@ -108,7 +117,7 @@ | @@ -108,7 +117,7 @@ | ||
108 | ], | 117 | ], |
109 | ]; | 118 | ]; |
110 | } | 119 | } |
111 | - | 120 | + |
112 | /** | 121 | /** |
113 | * @inheritdoc | 122 | * @inheritdoc |
114 | */ | 123 | */ |
@@ -127,7 +136,7 @@ | @@ -127,7 +136,7 @@ | ||
127 | 'seo_text' => 'Seo Text', | 136 | 'seo_text' => 'Seo Text', |
128 | ]; | 137 | ]; |
129 | } | 138 | } |
130 | - | 139 | + |
131 | /** | 140 | /** |
132 | * @return \yii\db\ActiveQuery | 141 | * @return \yii\db\ActiveQuery |
133 | */ | 142 | */ |
@@ -135,7 +144,7 @@ | @@ -135,7 +144,7 @@ | ||
135 | { | 144 | { |
136 | return $this->hasOne(BlogCategory::className(), [ 'id' => 'blog_category_id' ]); | 145 | return $this->hasOne(BlogCategory::className(), [ 'id' => 'blog_category_id' ]); |
137 | } | 146 | } |
138 | - | 147 | + |
139 | /** | 148 | /** |
140 | * @return \yii\db\ActiveQuery | 149 | * @return \yii\db\ActiveQuery |
141 | */ | 150 | */ |
models/BlogCategorySearch.php renamed to models/CategorySearch.php
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | /** | 8 | /** |
9 | * BlogCategorySearch represents the model behind the search form about `artweb\artbox\blog\models\BlogCategory`. | 9 | * BlogCategorySearch represents the model behind the search form about `artweb\artbox\blog\models\BlogCategory`. |
10 | */ | 10 | */ |
11 | - class BlogCategorySearch extends BlogCategory | 11 | + class CategorySearch extends Category |
12 | { | 12 | { |
13 | /** | 13 | /** |
14 | * @var string | 14 | * @var string |
@@ -29,10 +29,6 @@ | @@ -29,10 +29,6 @@ | ||
29 | 'integer', | 29 | 'integer', |
30 | ], | 30 | ], |
31 | [ | 31 | [ |
32 | - [ 'image' ], | ||
33 | - 'safe', | ||
34 | - ], | ||
35 | - [ | ||
36 | [ 'status' ], | 32 | [ 'status' ], |
37 | 'boolean', | 33 | 'boolean', |
38 | ], | 34 | ], |
@@ -69,8 +65,8 @@ | @@ -69,8 +65,8 @@ | ||
69 | */ | 65 | */ |
70 | public function search($params) | 66 | public function search($params) |
71 | { | 67 | { |
72 | - $query = BlogCategory::find() | ||
73 | - ->joinWith('lang', 'parent.lang'); | 68 | + $query = Category::find() |
69 | + ->joinWith('lang', 'parent.lang'); | ||
74 | 70 | ||
75 | // add conditions that should always apply here | 71 | // add conditions that should always apply here |
76 | 72 | ||
@@ -110,14 +106,6 @@ | @@ -110,14 +106,6 @@ | ||
110 | $query->andFilterWhere( | 106 | $query->andFilterWhere( |
111 | [ | 107 | [ |
112 | 'like', | 108 | 'like', |
113 | - 'image', | ||
114 | - $this->image, | ||
115 | - ] | ||
116 | - ); | ||
117 | - | ||
118 | - $query->andFilterWhere( | ||
119 | - [ | ||
120 | - 'like', | ||
121 | 'blog_category_lang.title', | 109 | 'blog_category_lang.title', |
122 | $this->title, | 110 | $this->title, |
123 | ] | 111 | ] |
models/BlogTag.php renamed to models/Tag.php
@@ -10,9 +10,10 @@ | @@ -10,9 +10,10 @@ | ||
10 | 10 | ||
11 | /** | 11 | /** |
12 | * This is the model class for table "blog_tag". | 12 | * This is the model class for table "blog_tag". |
13 | - * | ||
14 | - * @property integer $id | ||
15 | - * @property BlogArticle[] $blogArticles | 13 | + |
14 | +* | ||
15 | +*@property integer $id | ||
16 | + * @property Article[] $blogArticles | ||
16 | * @property BlogTagLang[] $blogTagLangs | 17 | * @property BlogTagLang[] $blogTagLangs |
17 | * @property Language[] $languages | 18 | * @property Language[] $languages |
18 | * * From language behavior * | 19 | * * From language behavior * |
@@ -36,7 +37,7 @@ | @@ -36,7 +37,7 @@ | ||
36 | * @method bool getTransactionStatus() | 37 | * @method bool getTransactionStatus() |
37 | * * End language behavior * | 38 | * * End language behavior * |
38 | */ | 39 | */ |
39 | - class BlogTag extends ActiveRecord | 40 | + class Tag extends ActiveRecord |
40 | { | 41 | { |
41 | /** | 42 | /** |
42 | * @inheritdoc | 43 | * @inheritdoc |
@@ -86,7 +87,7 @@ | @@ -86,7 +87,7 @@ | ||
86 | */ | 87 | */ |
87 | public function getBlogArticles() | 88 | public function getBlogArticles() |
88 | { | 89 | { |
89 | - return $this->hasMany(BlogArticle::className(), [ 'id' => 'blog_article_id' ]) | 90 | + return $this->hasMany(Article::className(), [ 'id' => 'blog_article_id' ]) |
90 | ->viaTable('blog_article_to_tag', [ 'blog_tag_id' => 'id' ]); | 91 | ->viaTable('blog_article_to_tag', [ 'blog_tag_id' => 'id' ]); |
91 | } | 92 | } |
92 | } | 93 | } |
models/BlogTagLang.php renamed to models/TagLang.php
@@ -7,15 +7,16 @@ | @@ -7,15 +7,16 @@ | ||
7 | 7 | ||
8 | /** | 8 | /** |
9 | * This is the model class for table "blog_tag_lang". | 9 | * This is the model class for table "blog_tag_lang". |
10 | - * | ||
11 | - * @property integer $id | 10 | + |
11 | +* | ||
12 | +*@property integer $id | ||
12 | * @property integer $blog_tag_id | 13 | * @property integer $blog_tag_id |
13 | * @property integer $language_id | 14 | * @property integer $language_id |
14 | * @property string $label | 15 | * @property string $label |
15 | - * @property BlogTag $blogTag | 16 | + * @property Tag $blogTag |
16 | * @property Language $language | 17 | * @property Language $language |
17 | */ | 18 | */ |
18 | - class BlogTagLang extends ActiveRecord | 19 | + class TagLang extends ActiveRecord |
19 | { | 20 | { |
20 | /** | 21 | /** |
21 | * @inheritdoc | 22 | * @inheritdoc |
@@ -66,7 +67,7 @@ | @@ -66,7 +67,7 @@ | ||
66 | [ 'blog_tag_id' ], | 67 | [ 'blog_tag_id' ], |
67 | 'exist', | 68 | 'exist', |
68 | 'skipOnError' => true, | 69 | 'skipOnError' => true, |
69 | - 'targetClass' => BlogTag::className(), | 70 | + 'targetClass' => Tag::className(), |
70 | 'targetAttribute' => [ 'blog_tag_id' => 'id' ], | 71 | 'targetAttribute' => [ 'blog_tag_id' => 'id' ], |
71 | ], | 72 | ], |
72 | [ | 73 | [ |
@@ -97,7 +98,7 @@ | @@ -97,7 +98,7 @@ | ||
97 | */ | 98 | */ |
98 | public function getBlogTag() | 99 | public function getBlogTag() |
99 | { | 100 | { |
100 | - return $this->hasOne(BlogTag::className(), [ 'id' => 'blog_tag_id' ]); | 101 | + return $this->hasOne(Tag::className(), [ 'id' => 'blog_tag_id' ]); |
101 | } | 102 | } |
102 | 103 | ||
103 | /** | 104 | /** |
models/BlogTagSearch.php renamed to models/TagSearch.php
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | /** | 8 | /** |
9 | * BlogTagSearch represents the model behind the search form about `artweb\artbox\blog\models\BlogTag`. | 9 | * BlogTagSearch represents the model behind the search form about `artweb\artbox\blog\models\BlogTag`. |
10 | */ | 10 | */ |
11 | - class BlogTagSearch extends BlogTag | 11 | + class TagSearch extends Tag |
12 | { | 12 | { |
13 | /** | 13 | /** |
14 | * @var string | 14 | * @var string |
@@ -58,8 +58,8 @@ | @@ -58,8 +58,8 @@ | ||
58 | */ | 58 | */ |
59 | public function search($params) | 59 | public function search($params) |
60 | { | 60 | { |
61 | - $query = BlogTag::find() | ||
62 | - ->joinWith('lang'); | 61 | + $query = Tag::find() |
62 | + ->joinWith('lang'); | ||
63 | 63 | ||
64 | // add conditions that should always apply here | 64 | // add conditions that should always apply here |
65 | 65 |
views/blog-article/_form.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | - use artweb\artbox\blog\models\BlogArticle; | ||
4 | - use artweb\artbox\blog\models\BlogArticleLang; | ||
5 | - use artweb\artbox\blog\models\BlogCategory; | ||
6 | - use artweb\artbox\blog\models\BlogTag; | 3 | + use artbox\weblog\models\Article; |
4 | + use artbox\weblog\models\ArticleLang; | ||
5 | + | ||
6 | + // use artweb\artbox\blog\models\BlogCategory; | ||
7 | + // use artweb\artbox\blog\models\BlogTag; | ||
7 | use kartik\select2\Select2; | 8 | use kartik\select2\Select2; |
9 | + use noam148\imagemanager\components\ImageManagerInputWidget; | ||
8 | use yii\helpers\Html; | 10 | use yii\helpers\Html; |
9 | use yii\helpers\Url; | 11 | use yii\helpers\Url; |
10 | use yii\web\View; | 12 | use yii\web\View; |
11 | use yii\widgets\ActiveForm; | 13 | use yii\widgets\ActiveForm; |
12 | - use artweb\artbox\language\widgets\LanguageForm; | 14 | + use artbox\core\widgets\LanguageForm; |
13 | use yii\web\JsExpression; | 15 | use yii\web\JsExpression; |
14 | 16 | ||
15 | /** | 17 | /** |
16 | - * @var View $this | ||
17 | - * @var BlogArticle $model | ||
18 | - * @var ActiveForm $form | ||
19 | - * @var BlogArticleLang[] $modelLangs | ||
20 | - * @var BlogCategory[] $categories | ||
21 | - * @var BlogTag[] $tags | ||
22 | - * @var array $products | ||
23 | - * @var array $articles | 18 | + * @var View $this |
19 | + * @var Article $model | ||
20 | + * @var ActiveForm $form | ||
21 | + * @var ArticleLang[] $modelLangs | ||
22 | + * @var BlogCategory[] $categories | ||
23 | + * @var BlogTag[] $tags | ||
24 | + * @var array $products | ||
25 | + * @var array $articles | ||
24 | */ | 26 | */ |
25 | ?> | 27 | ?> |
26 | 28 | ||
@@ -36,151 +38,137 @@ | @@ -36,151 +38,137 @@ | ||
36 | echo LanguageForm::widget( | 38 | echo LanguageForm::widget( |
37 | [ | 39 | [ |
38 | 'modelLangs' => $modelLangs, | 40 | 'modelLangs' => $modelLangs, |
39 | - 'formView' => '@artweb/artbox/blog/views/blog-article/_form_language', | 41 | + 'formView' => '@artbox/weblog/views/blog-article/_form_language', |
40 | 'form' => $form, | 42 | 'form' => $form, |
41 | ] | 43 | ] |
42 | ); | 44 | ); |
43 | ?> | 45 | ?> |
44 | 46 | ||
45 | <?php | 47 | <?php |
46 | - echo $form->field($model, 'blogCategories') | ||
47 | - ->widget( | ||
48 | - Select2::className(), | ||
49 | - [ | ||
50 | - 'data' => $categories, | ||
51 | - 'theme' => Select2::THEME_BOOTSTRAP, | ||
52 | - 'options' => [ | ||
53 | - 'placeholder' => \Yii::t('blog', 'Select category'), | ||
54 | - 'multiple' => true, | ||
55 | - ], | ||
56 | - 'pluginOptions' => [ | ||
57 | - 'allowClear' => true, | ||
58 | - ], | ||
59 | - ] | ||
60 | - ); | 48 | + // echo $form->field($model, 'blogCategories') |
49 | + // ->widget( | ||
50 | + // Select2::className(), | ||
51 | + // [ | ||
52 | + // 'data' => $categories, | ||
53 | + // 'theme' => Select2::THEME_BOOTSTRAP, | ||
54 | + // 'options' => [ | ||
55 | + // 'placeholder' => \Yii::t('blog', 'Select category'), | ||
56 | + // 'multiple' => true, | ||
57 | + // ], | ||
58 | + // 'pluginOptions' => [ | ||
59 | + // 'allowClear' => true, | ||
60 | + // ], | ||
61 | + // ] | ||
62 | + // ); | ||
61 | ?> | 63 | ?> |
62 | 64 | ||
63 | <?php | 65 | <?php |
64 | - echo $form->field($model, 'blogTags') | ||
65 | - ->widget( | ||
66 | - Select2::className(), | ||
67 | - [ | ||
68 | - 'data' => $tags, | ||
69 | - 'theme' => Select2::THEME_BOOTSTRAP, | ||
70 | - 'options' => [ | ||
71 | - 'placeholder' => \Yii::t('blog', 'Select tag'), | ||
72 | - 'multiple' => true, | ||
73 | - ], | ||
74 | - 'pluginOptions' => [ | ||
75 | - 'allowClear' => true, | ||
76 | - ], | ||
77 | - ] | ||
78 | - ); | 66 | + // echo $form->field($model, 'blogTags') |
67 | + // ->widget( | ||
68 | + // Select2::className(), | ||
69 | + // [ | ||
70 | + // 'data' => $tags, | ||
71 | + // 'theme' => Select2::THEME_BOOTSTRAP, | ||
72 | + // 'options' => [ | ||
73 | + // 'placeholder' => \Yii::t('blog', 'Select tag'), | ||
74 | + // 'multiple' => true, | ||
75 | + // ], | ||
76 | + // 'pluginOptions' => [ | ||
77 | + // 'allowClear' => true, | ||
78 | + // ], | ||
79 | + // ] | ||
80 | + // ); | ||
79 | ?> | 81 | ?> |
80 | 82 | ||
81 | - <?= $form->field($model, 'image') | 83 | + <?= $form->field($model, 'image_id') |
82 | ->widget( | 84 | ->widget( |
83 | - \kartik\file\FileInput::className(), | 85 | + ImageManagerInputWidget::className(), |
84 | [ | 86 | [ |
85 | - 'language' => 'ru', | ||
86 | - 'options' => [ | ||
87 | - 'accept' => 'image/*', | ||
88 | - 'multiple' => false, | ||
89 | - 'deleteurl' => $model->isNewRecord?false:Url::to(['/blog/blog-article/delete-image', 'id' => $model->id]), | ||
90 | - 'class' => $model->isNewRecord?'':'artbox-delete-file', | ||
91 | - ], | ||
92 | - 'pluginOptions' => [ | ||
93 | - 'allowedFileExtensions' => [ | ||
94 | - 'jpg', | ||
95 | - 'gif', | ||
96 | - 'png', | ||
97 | - ], | ||
98 | - 'initialPreview' => !empty( $model->getImageUrl(0, false) ) ? \artweb\artbox\components\artboximage\ArtboxImageHelper::getImage( | ||
99 | - $model->imageUrl, | ||
100 | - 'list' | ||
101 | - ) : '', | ||
102 | - 'initialPreviewShowDelete' => false, | ||
103 | - 'overwriteInitial' => true, | ||
104 | - 'showRemove' => true, | ||
105 | - 'showUpload' => false, | ||
106 | - 'showClose' => false, | ||
107 | - 'previewFileType' => 'image', | ||
108 | - ], | 87 | + 'aspectRatio' => ( 16 / 9 ), |
88 | + //set the aspect ratio | ||
89 | + 'showPreview' => true, | ||
90 | + //false to hide the preview | ||
91 | + 'showDeletePickedImageConfirm' => false, | ||
92 | + //on true show warning before detach image | ||
109 | ] | 93 | ] |
110 | ); ?> | 94 | ); ?> |
111 | 95 | ||
112 | <?php | 96 | <?php |
113 | - echo $form->field($model, 'products') | ||
114 | - ->widget( | ||
115 | - Select2::className(), | ||
116 | - [ | ||
117 | - 'data' => $products, | ||
118 | - 'options' => [ | ||
119 | - 'placeholder' => \Yii::t('blog', 'Select related products'), | ||
120 | - 'multiple' => true, | ||
121 | - ], | ||
122 | - 'pluginOptions' => [ | ||
123 | - 'allowClear' => true, | ||
124 | - 'minimumInputLength' => 3, | ||
125 | - 'language' => [ | ||
126 | - 'errorLoading' => new JsExpression( | ||
127 | - "function () { return '" . \Yii::t('blog', 'Waiting for results') . "'; }" | ||
128 | - ), | ||
129 | - ], | ||
130 | - 'ajax' => [ | ||
131 | - 'url' => yii\helpers\Url::to([ '/blog/blog-article/product-list' ]), | ||
132 | - 'dataType' => 'json', | ||
133 | - 'data' => new JsExpression('function(params) { return {q:params.term}; }'), | ||
134 | - ], | ||
135 | - 'templateResult' => new JsExpression('function(product) { return product.text; }'), | ||
136 | - 'templateSelection' => new JsExpression('function (product) { return product.text; }'), | ||
137 | - ], | ||
138 | - ] | ||
139 | - ); | 97 | + // echo $form->field($model, 'products') |
98 | + // ->widget( | ||
99 | + // Select2::className(), | ||
100 | + // [ | ||
101 | + // 'data' => $products, | ||
102 | + // 'options' => [ | ||
103 | + // 'placeholder' => \Yii::t('blog', 'Select related products'), | ||
104 | + // 'multiple' => true, | ||
105 | + // ], | ||
106 | + // 'pluginOptions' => [ | ||
107 | + // 'allowClear' => true, | ||
108 | + // 'minimumInputLength' => 3, | ||
109 | + // 'language' => [ | ||
110 | + // 'errorLoading' => new JsExpression( | ||
111 | + // "function () { return '" . \Yii::t('blog', 'Waiting for results') . "'; }" | ||
112 | + // ), | ||
113 | + // ], | ||
114 | + // 'ajax' => [ | ||
115 | + // 'url' => yii\helpers\Url::to([ '/blog/blog-article/product-list' ]), | ||
116 | + // 'dataType' => 'json', | ||
117 | + // 'data' => new JsExpression('function(params) { return {q:params.term}; }'), | ||
118 | + // ], | ||
119 | + // 'templateResult' => new JsExpression('function(product) { return product.text; }'), | ||
120 | + // 'templateSelection' => new JsExpression('function (product) { return product.text; }'), | ||
121 | + // ], | ||
122 | + // ] | ||
123 | + // ); | ||
140 | ?> | 124 | ?> |
141 | 125 | ||
142 | <?php | 126 | <?php |
143 | - if (empty( $model->id )) { | ||
144 | - $data = 'function(params) { return {q:params.term}; }'; | ||
145 | - } else { | ||
146 | - $data = 'function(params) { return {q:params.term, id:' . $model->id . '}; }'; | ||
147 | - } | ||
148 | - echo $form->field($model, 'blogArticles') | ||
149 | - ->widget( | ||
150 | - Select2::className(), | ||
151 | - [ | ||
152 | - 'data' => $articles, | ||
153 | - 'options' => [ | ||
154 | - 'placeholder' => \Yii::t('blog', 'Select related articles'), | ||
155 | - 'multiple' => true, | ||
156 | - ], | ||
157 | - 'pluginOptions' => [ | ||
158 | - 'allowClear' => true, | ||
159 | - 'minimumInputLength' => 3, | ||
160 | - 'language' => [ | ||
161 | - 'errorLoading' => new JsExpression( | ||
162 | - "function () { return '" . \Yii::t('blog', 'Waiting for results') . "'; }" | ||
163 | - ), | ||
164 | - ], | ||
165 | - 'ajax' => [ | ||
166 | - 'url' => yii\helpers\Url::to([ '/blog/blog-article/article-list' ]), | ||
167 | - 'dataType' => 'json', | ||
168 | - 'data' => new JsExpression( | ||
169 | - $data | ||
170 | - ), | ||
171 | - ], | ||
172 | - 'templateResult' => new JsExpression('function(article) { return article.text; }'), | ||
173 | - 'templateSelection' => new JsExpression('function (article) { return article.text; }'), | ||
174 | - ], | ||
175 | - ] | ||
176 | - ); | 127 | + // if (empty( $model->id )) { |
128 | + // $data = 'function(params) { return {q:params.term}; }'; | ||
129 | + // } else { | ||
130 | + // $data = 'function(params) { return {q:params.term, id:' . $model->id . '}; }'; | ||
131 | + // } | ||
132 | + // echo $form->field($model, 'blogArticles') | ||
133 | + // ->widget( | ||
134 | + // Select2::className(), | ||
135 | + // [ | ||
136 | + // 'data' => $articles, | ||
137 | + // 'options' => [ | ||
138 | + // 'placeholder' => \Yii::t('blog', 'Select related articles'), | ||
139 | + // 'multiple' => true, | ||
140 | + // ], | ||
141 | + // 'pluginOptions' => [ | ||
142 | + // 'allowClear' => true, | ||
143 | + // 'minimumInputLength' => 3, | ||
144 | + // 'language' => [ | ||
145 | + // 'errorLoading' => new JsExpression( | ||
146 | + // "function () { return '" . \Yii::t('blog', 'Waiting for results') . "'; }" | ||
147 | + // ), | ||
148 | + // ], | ||
149 | + // 'ajax' => [ | ||
150 | + // 'url' => yii\helpers\Url::to([ '/blog/blog-article/article-list' ]), | ||
151 | + // 'dataType' => 'json', | ||
152 | + // 'data' => new JsExpression( | ||
153 | + // $data | ||
154 | + // ), | ||
155 | + // ], | ||
156 | + // 'templateResult' => new JsExpression('function(article) { return article.text; }'), | ||
157 | + // 'templateSelection' => new JsExpression('function (article) { return article.text; }'), | ||
158 | + // ], | ||
159 | + // ] | ||
160 | + // ); | ||
177 | ?> | 161 | ?> |
178 | 162 | ||
179 | <?= $form->field($model, 'sort') | 163 | <?= $form->field($model, 'sort') |
180 | ->textInput() ?> | 164 | ->textInput() ?> |
181 | 165 | ||
182 | <?= $form->field($model, 'status') | 166 | <?= $form->field($model, 'status') |
183 | - ->checkbox() ?> | 167 | + ->checkbox( |
168 | + [ | ||
169 | + 'class' => 'flat', | ||
170 | + ] | ||
171 | + ) ?> | ||
184 | 172 | ||
185 | <?= $form->field($model, 'author_id') | 173 | <?= $form->field($model, 'author_id') |
186 | ->textInput() ?> | 174 | ->textInput() ?> |
views/blog-article/_form_language.php
1 | <?php | 1 | <?php |
2 | - use artweb\artbox\blog\models\BlogArticleLang; | ||
3 | - use artweb\artbox\language\models\Language; | ||
4 | - use mihaildev\ckeditor\CKEditor; | ||
5 | - use mihaildev\elfinder\ElFinder; | 2 | + use artbox\core\helpers\SlugifyDecorator; |
3 | + use artbox\weblog\models\ArticleLang; | ||
4 | + use artbox\core\models\Language; | ||
5 | + use dosamigos\tinymce\TinyMce; | ||
6 | + use yii\helpers\Url; | ||
7 | + use yii\web\JsExpression; | ||
6 | use yii\web\View; | 8 | use yii\web\View; |
7 | use yii\widgets\ActiveForm; | 9 | use yii\widgets\ActiveForm; |
8 | 10 | ||
9 | /** | 11 | /** |
10 | - * @var BlogArticleLang $model_lang | ||
11 | - * @var Language $language | ||
12 | - * @var ActiveForm $form | ||
13 | - * @var View $this | 12 | + * @var ArticleLang $model_lang |
13 | + * @var Language $language | ||
14 | + * @var ActiveForm $form | ||
15 | + * @var View $this | ||
14 | */ | 16 | */ |
15 | ?> | 17 | ?> |
16 | -<?= $form->field($model_lang, '[' . $language->id . ']title') | ||
17 | - ->textInput([ 'maxlength' => true ]); ?> | 18 | +<?php |
19 | + $attributeField = $form->field($model_lang, '[' . $language->id . ']title') | ||
20 | + ->textInput([ 'maxlength' => true ]); | ||
21 | + echo $attributeField; | ||
22 | +?> | ||
18 | 23 | ||
19 | -<?= $form->field($model_lang, '[' . $language->id . ']alias') | ||
20 | - ->textInput([ 'maxlength' => true ]); ?> | 24 | +<?= SlugifyDecorator::decorate( |
25 | + $form->field($model_lang, '[' . $language->id . ']aliasValue'), | ||
26 | + [ '/alias/slugify' ], | ||
27 | + $attributeField | ||
28 | +) | ||
29 | + ->textInput([ 'maxlength' => true ]); ?> | ||
21 | 30 | ||
22 | <?= $form->field($model_lang, '[' . $language->id . ']body') | 31 | <?= $form->field($model_lang, '[' . $language->id . ']body') |
23 | ->widget( | 32 | ->widget( |
24 | - CKEditor::className(), | 33 | + TinyMce::className(), |
25 | [ | 34 | [ |
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 | + 'options' => [ 'rows' => 6 ], |
36 | + 'language' => 'ru', | ||
37 | + 'clientOptions' => [ | ||
38 | + 'file_browser_callback' => new JsExpression( | ||
39 | + "function(field_name, url, type, win) { | ||
40 | +window.open('" . Url::to( | ||
41 | + [ | ||
42 | + 'imagemanager/manager', | ||
43 | + 'view-mode' => 'iframe', | ||
44 | + 'select-type' => 'tinymce', | ||
45 | + ] | ||
46 | + ) . "&tag_name='+field_name,'','width=800,height=540 ,toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no'); | ||
47 | +}" | ||
48 | + ), | ||
49 | + 'plugins' => [ | ||
50 | + "advlist autolink lists link charmap print preview anchor", | ||
51 | + "searchreplace visualblocks code fullscreen", | ||
52 | + "insertdatetime media table contextmenu paste image", | ||
53 | + ], | ||
54 | + 'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | code", | ||
55 | + ], | ||
35 | ] | 56 | ] |
36 | - ) ?> | 57 | + ); ?> |
37 | 58 | ||
38 | <?= $form->field($model_lang, '[' . $language->id . ']body_preview') | 59 | <?= $form->field($model_lang, '[' . $language->id . ']body_preview') |
39 | ->textarea( | 60 | ->textarea( |
@@ -41,15 +62,3 @@ | @@ -41,15 +62,3 @@ | ||
41 | 'rows' => '10', | 62 | 'rows' => '10', |
42 | ] | 63 | ] |
43 | ) ?> | 64 | ) ?> |
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 ]); ?> |
views/blog-article/create.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | - use artweb\artbox\blog\models\BlogArticle; | ||
4 | - use artweb\artbox\blog\models\BlogArticleLang; | ||
5 | - use artweb\artbox\blog\models\BlogCategory; | ||
6 | - use artweb\artbox\blog\models\BlogTag; | ||
7 | - use yii\helpers\Html; | 3 | + use artbox\weblog\models\Article; |
4 | + use artbox\weblog\models\ArticleLang; | ||
8 | use yii\web\View; | 5 | use yii\web\View; |
6 | + use yiister\gentelella\widgets\Panel; | ||
9 | 7 | ||
10 | /** | 8 | /** |
11 | - * @var View $this | ||
12 | - * @var BlogArticle $model | ||
13 | - * @var BlogArticleLang[] $modelLangs | ||
14 | - * @var BlogCategory[] $categories | ||
15 | - * @var BlogTag[] $tags | ||
16 | - * @var array $products | ||
17 | - * @var array $articles | 9 | + * @var View $this |
10 | + * @var Article $model | ||
11 | + * @var ArticleLang[] $modelLangs | ||
12 | + * @var array $products | ||
13 | + * @var array $articles | ||
18 | */ | 14 | */ |
19 | 15 | ||
20 | $this->title = \Yii::t('blog', 'Create Blog Article'); | 16 | $this->title = \Yii::t('blog', 'Create Blog Article'); |
@@ -26,18 +22,24 @@ | @@ -26,18 +22,24 @@ | ||
26 | ?> | 22 | ?> |
27 | <div class="blog-article-create"> | 23 | <div class="blog-article-create"> |
28 | 24 | ||
29 | - <h1><?= Html::encode($this->title) ?></h1> | 25 | + <?php $panel = Panel::begin( |
26 | + [ | ||
27 | + 'header' => $this->title, | ||
28 | + ] | ||
29 | + ); ?> | ||
30 | 30 | ||
31 | <?= $this->render( | 31 | <?= $this->render( |
32 | '_form', | 32 | '_form', |
33 | [ | 33 | [ |
34 | 'model' => $model, | 34 | 'model' => $model, |
35 | 'modelLangs' => $modelLangs, | 35 | 'modelLangs' => $modelLangs, |
36 | - 'categories' => $categories, | ||
37 | - 'tags' => $tags, | 36 | + // 'categories' => $categories, |
37 | + // 'tags' => $tags, | ||
38 | 'products' => $products, | 38 | 'products' => $products, |
39 | 'articles' => $articles, | 39 | 'articles' => $articles, |
40 | ] | 40 | ] |
41 | ) ?> | 41 | ) ?> |
42 | + | ||
43 | + <?php $panel::end(); ?> | ||
42 | 44 | ||
43 | </div> | 45 | </div> |
views/blog-article/index.php
@@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
6 | use yii\helpers\Html; | 6 | use yii\helpers\Html; |
7 | use yii\grid\GridView; | 7 | use yii\grid\GridView; |
8 | use yii\web\View; | 8 | use yii\web\View; |
9 | + use yiister\gentelella\widgets\Panel; | ||
9 | 10 | ||
10 | /** | 11 | /** |
11 | * @var View $this | 12 | * @var View $this |
@@ -18,12 +19,18 @@ | @@ -18,12 +19,18 @@ | ||
18 | ?> | 19 | ?> |
19 | <div class="blog-article-index"> | 20 | <div class="blog-article-index"> |
20 | 21 | ||
21 | - <h1><?= Html::encode($this->title) ?></h1> | ||
22 | - <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
23 | - | ||
24 | - <p> | ||
25 | - <?= Html::a(\Yii::t('app', 'create_item',['item'=>'Blog Article']), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?> | ||
26 | - </p> | 22 | + <?php $panel = Panel::begin( |
23 | + [ | ||
24 | + 'header' => $this->title, | ||
25 | + ] | ||
26 | + ); ?> | ||
27 | + <p> | ||
28 | + <?= Html::a( | ||
29 | + \Yii::t('app', 'create_item', [ 'item' => 'Blog Article' ]), | ||
30 | + [ 'create' ], | ||
31 | + [ 'class' => 'btn btn-success' ] | ||
32 | + ) ?> | ||
33 | + </p> | ||
27 | <?= GridView::widget( | 34 | <?= GridView::widget( |
28 | [ | 35 | [ |
29 | 'dataProvider' => $dataProvider, | 36 | 'dataProvider' => $dataProvider, |
@@ -37,7 +44,7 @@ | @@ -37,7 +44,7 @@ | ||
37 | 'imageUrl:image', | 44 | 'imageUrl:image', |
38 | [ | 45 | [ |
39 | 'attribute' => 'status', | 46 | 'attribute' => 'status', |
40 | - 'value' => function($model) { | 47 | + 'value' => function ($model) { |
41 | /** | 48 | /** |
42 | * @var Article $model | 49 | * @var Article $model |
43 | */ | 50 | */ |
@@ -54,4 +61,7 @@ | @@ -54,4 +61,7 @@ | ||
54 | ], | 61 | ], |
55 | ] | 62 | ] |
56 | ); ?> | 63 | ); ?> |
64 | + | ||
65 | + <?php $panel::end(); ?> | ||
66 | + | ||
57 | </div> | 67 | </div> |
views/blog-category/index.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | - use artweb\artbox\blog\models\BlogCategory; | ||
4 | - use artweb\artbox\blog\models\BlogCategorySearch; | ||
5 | use yii\data\ActiveDataProvider; | 3 | use yii\data\ActiveDataProvider; |
6 | use yii\helpers\Html; | 4 | use yii\helpers\Html; |
7 | use yii\grid\GridView; | 5 | use yii\grid\GridView; |
8 | use yii\web\View; | 6 | use yii\web\View; |
7 | + use yiister\gentelella\widgets\Panel; | ||
9 | 8 | ||
10 | /** | 9 | /** |
11 | * @var View $this | 10 | * @var View $this |
@@ -18,12 +17,15 @@ | @@ -18,12 +17,15 @@ | ||
18 | ?> | 17 | ?> |
19 | <div class="blog-category-index"> | 18 | <div class="blog-category-index"> |
20 | 19 | ||
21 | - <h1><?= Html::encode($this->title) ?></h1> | ||
22 | - <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
23 | - | ||
24 | - <p> | ||
25 | - <?= Html::a(\Yii::t('blog', 'Create Blog Category'), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?> | ||
26 | - </p> | 20 | + <?php $panel = Panel::begin( |
21 | + [ | ||
22 | + 'header' => $this->title, | ||
23 | + ] | ||
24 | + ); ?> | ||
25 | + | ||
26 | + <p> | ||
27 | + <?= Html::a(\Yii::t('blog', 'Create Blog Category'), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?> | ||
28 | + </p> | ||
27 | <?= GridView::widget( | 29 | <?= GridView::widget( |
28 | [ | 30 | [ |
29 | 'dataProvider' => $dataProvider, | 31 | 'dataProvider' => $dataProvider, |
@@ -37,11 +39,11 @@ | @@ -37,11 +39,11 @@ | ||
37 | 'imageUrl:image', | 39 | 'imageUrl:image', |
38 | [ | 40 | [ |
39 | 'label' => \Yii::t('blog', 'Parent category'), | 41 | 'label' => \Yii::t('blog', 'Parent category'), |
40 | - 'value' => function($model) { | 42 | + 'value' => function ($model) { |
41 | /** | 43 | /** |
42 | * @var BlogCategory $model | 44 | * @var BlogCategory $model |
43 | */ | 45 | */ |
44 | - if (!empty( $model->parent )) { | 46 | + if (!empty($model->parent)) { |
45 | return $model->parent->lang->title; | 47 | return $model->parent->lang->title; |
46 | } else { | 48 | } else { |
47 | return false; | 49 | return false; |
@@ -50,7 +52,7 @@ | @@ -50,7 +52,7 @@ | ||
50 | ], | 52 | ], |
51 | [ | 53 | [ |
52 | 'attribute' => 'status', | 54 | 'attribute' => 'status', |
53 | - 'value' => function($model) { | 55 | + 'value' => function ($model) { |
54 | /** | 56 | /** |
55 | * @var BlogCategory $model | 57 | * @var BlogCategory $model |
56 | */ | 58 | */ |
@@ -65,4 +67,7 @@ | @@ -65,4 +67,7 @@ | ||
65 | ], | 67 | ], |
66 | ] | 68 | ] |
67 | ); ?> | 69 | ); ?> |
70 | + | ||
71 | + <?php $panel::end(); ?> | ||
72 | + | ||
68 | </div> | 73 | </div> |
views/blog-tag/index.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | - use artweb\artbox\blog\models\BlogTagSearch; | 3 | + use artbox\weblog\models\TagSearch; |
4 | use yii\data\ActiveDataProvider; | 4 | use yii\data\ActiveDataProvider; |
5 | use yii\helpers\Html; | 5 | use yii\helpers\Html; |
6 | use yii\grid\GridView; | 6 | use yii\grid\GridView; |
7 | use yii\web\View; | 7 | use yii\web\View; |
8 | + use yiister\gentelella\widgets\Panel; | ||
8 | 9 | ||
9 | /** | 10 | /** |
10 | * @var View $this | 11 | * @var View $this |
11 | - * @var BlogTagSearch $searchModel | 12 | + * @var TagSearch $searchModel |
12 | * @var ActiveDataProvider $dataProvider | 13 | * @var ActiveDataProvider $dataProvider |
13 | */ | 14 | */ |
14 | 15 | ||
@@ -17,12 +18,15 @@ | @@ -17,12 +18,15 @@ | ||
17 | ?> | 18 | ?> |
18 | <div class="blog-tag-index"> | 19 | <div class="blog-tag-index"> |
19 | 20 | ||
20 | - <h1><?= Html::encode($this->title) ?></h1> | ||
21 | - <?php // echo $this->render('_search', ['model' => $searchModel]); ?> | ||
22 | - | ||
23 | - <p> | ||
24 | - <?= Html::a(\Yii::t('blog', 'Create Blog Tag'), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?> | ||
25 | - </p> | 21 | + <?php $panel = Panel::begin( |
22 | + [ | ||
23 | + 'header' => $this->title, | ||
24 | + ] | ||
25 | + ); ?> | ||
26 | + | ||
27 | + <p> | ||
28 | + <?= Html::a(\Yii::t('blog', 'Create Blog Tag'), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?> | ||
29 | + </p> | ||
26 | <?= GridView::widget( | 30 | <?= GridView::widget( |
27 | [ | 31 | [ |
28 | 'dataProvider' => $dataProvider, | 32 | 'dataProvider' => $dataProvider, |
@@ -39,4 +43,7 @@ | @@ -39,4 +43,7 @@ | ||
39 | ], | 43 | ], |
40 | ] | 44 | ] |
41 | ); ?> | 45 | ); ?> |
46 | + | ||
47 | + <?php $panel::end(); ?> | ||
48 | + | ||
42 | </div> | 49 | </div> |