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> |