Commit 6c741c3cbbe7d18bab42916577e3e43cf342e2ee

Authored by Alexey Boroda
1 parent ace6c6ed

-Blog small fixes ready

models/ArticleLang.php
@@ -9,20 +9,21 @@ @@ -9,20 +9,21 @@
9 9
10 /** 10 /**
11 * This is the model class for table "blog_article_lang". 11 * This is the model class for table "blog_article_lang".
  12 +
12 * 13 *
13 - * @property integer $id 14 +*@property integer $id
14 * @property integer $blog_article_id 15 * @property integer $blog_article_id
15 * @property integer $language_id 16 * @property integer $language_id
16 * @property string $title 17 * @property string $title
17 * @property string $body 18 * @property string $body
18 * @property string $body_preview 19 * @property string $body_preview
19 - * @property string $alias  
20 * @property string $meta_title 20 * @property string $meta_title
21 * @property string $meta_description 21 * @property string $meta_description
22 * @property string $h1 22 * @property string $h1
23 * @property string $seo_text 23 * @property string $seo_text
24 * @property Article $article 24 * @property Article $article
25 * @property Language $language 25 * @property Language $language
  26 + * @property Alias $alias
26 */ 27 */
27 class ArticleLang extends ActiveRecord 28 class ArticleLang extends ActiveRecord
28 { 29 {
@@ -156,6 +157,6 @@ @@ -156,6 +157,6 @@
156 */ 157 */
157 public function getAlias() 158 public function getAlias()
158 { 159 {
159 - return $this->hasOne(Alias::className(), ['id' => 'alias_id']); 160 + return $this->hasOne(Alias::className(), [ 'id' => 'alias_id' ]);
160 } 161 }
161 } 162 }
models/ArticleSearch.php
@@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
16 public $title; 16 public $title;
17 17
18 public $tag; 18 public $tag;
  19 +
  20 + public $category;
19 21
20 /** 22 /**
21 * @inheritdoc 23 * @inheritdoc
@@ -40,6 +42,7 @@ @@ -40,6 +42,7 @@
40 [ 42 [
41 'title', 43 'title',
42 'tag', 44 'tag',
  45 + 'category',
43 ], 46 ],
44 'string', 47 'string',
45 ], 48 ],
@@ -77,6 +80,7 @@ @@ -77,6 +80,7 @@
77 [ 80 [
78 'lang', 81 'lang',
79 'tags.lang', 82 'tags.lang',
  83 + 'categories.lang',
80 ] 84 ]
81 ); 85 );
82 86
@@ -131,6 +135,14 @@ @@ -131,6 +135,14 @@
131 $this->tag, 135 $this->tag,
132 ] 136 ]
133 ); 137 );
  138 +
  139 + $query->andFilterWhere(
  140 + [
  141 + 'ilike',
  142 + 'blog_category_lang.title',
  143 + $this->category,
  144 + ]
  145 + );
134 146
135 return $dataProvider; 147 return $dataProvider;
136 } 148 }
views/blog-article/index.php
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 use artbox\weblog\models\Article; 3 use artbox\weblog\models\Article;
4 use artbox\weblog\models\ArticleSearch; 4 use artbox\weblog\models\ArticleSearch;
  5 + use artbox\weblog\models\Category;
5 use artbox\weblog\models\Tag; 6 use artbox\weblog\models\Tag;
6 use yii\data\ActiveDataProvider; 7 use yii\data\ActiveDataProvider;
7 use yii\helpers\ArrayHelper; 8 use yii\helpers\ArrayHelper;
@@ -44,8 +45,28 @@ @@ -44,8 +45,28 @@
44 'value' => 'lang.title', 45 'value' => 'lang.title',
45 ], 46 ],
46 [ 47 [
  48 + 'attribute' => 'category',
  49 + 'label' => \Yii::t('blog', 'Categories'),
  50 + 'value' => function (Article $model) {
  51 + if (empty($model->categories)) {
  52 + return \Yii::$app->formatter->asText(null);
  53 + } else {
  54 + return implode(
  55 + ',<br>',
  56 + ArrayHelper::getColumn(
  57 + $model->categories,
  58 + function (Category $category) {
  59 + return $category->lang->title;
  60 + }
  61 + )
  62 + );
  63 + }
  64 + },
  65 + 'format' => 'html',
  66 + ],
  67 + [
47 'attribute' => 'tag', 68 'attribute' => 'tag',
48 - 'label' => \Yii::t('catalog', 'Tags'), 69 + 'label' => \Yii::t('blog', 'Tags'),
49 'value' => function (Article $model) { 70 'value' => function (Article $model) {
50 if (empty($model->tags)) { 71 if (empty($model->tags)) {
51 return \Yii::$app->formatter->asText(null); 72 return \Yii::$app->formatter->asText(null);