Commit e90ea61aa1bed99ad07c0d6133bd3d6ebd0336e2

Authored by Anastasia
1 parent 0e25b179

blog index

blog tag
common/models/blog/Article.php
... ... @@ -4,7 +4,6 @@
4 4  
5 5 use artbox\core\models\Image;
6 6 use artbox\core\models\traits\AliasableTrait;
7   - use artbox\webcomment\models\CommentModel;
8 7 use yii\behaviors\TimestampBehavior;
9 8 use yii\db\ActiveRecord;
10 9 use artbox\core\models\Language;
... ... @@ -107,6 +106,7 @@
107 106 'sort',
108 107 'author_id',
109 108 'image_id',
  109 + 'view'
110 110 ],
111 111 'integer',
112 112 ],
... ...
frontend/controllers/BlogController.php
... ... @@ -16,27 +16,17 @@
16 16 */
17 17 class BlogController extends Controller
18 18 {
19   - public function actionIndex($q = '')
  19 + public function actionIndex()
20 20 {
21 21 $tags = Tag::find()
22 22 ->with(
23 23 [
24   - 'language',
  24 + 'language.alias',
25 25 ]
26 26 )
27 27 ->orderBy([ 'sort' => SORT_ASC ])
28 28 ->all();
29 29  
30   - $categories = Category::find()
31   - ->with(
32   - [
33   - 'language',
34   - ]
35   - )
36   - ->where(['status' => true])
37   - ->orderBy([ 'sort' => SORT_ASC ])
38   - ->all();
39   -
40 30 $dataProvider = new ActiveDataProvider(
41 31 [
42 32 'query' => Article::find()
... ... @@ -47,22 +37,15 @@
47 37 )
48 38 ->with(
49 39 [
50   - 'categories.language',
  40 + 'tags.language.alias',
51 41 ]
52 42  
53 43 )
54 44 ->joinWith('language')
55 45 ->where([ 'blog_article.status' => true ])
56   - ->andFilterWhere(
57   - [
58   - 'ilike',
59   - 'blog_article_lang.title',
60   - $q,
61   - ]
62   - )
63 46 ->distinct(),
64 47 'pagination' => [
65   - 'pageSize' => 3,
  48 + 'pageSize' => 5,
66 49 ],
67 50 ]
68 51 );
... ... @@ -71,7 +54,6 @@
71 54 'index',
72 55 [
73 56 'tags' => $tags,
74   - 'categories' => $categories,
75 57 'dataProvider' => $dataProvider,
76 58 ]
77 59 );
... ...
frontend/views/blog/_article.php
1 1 <?php
2 2  
3 3 use artbox\core\helpers\ImageHelper;
4   - use yii\bootstrap\Html;
5 4 use artbox\core\helpers\Url;
6 5  
7 6 /**
... ... @@ -9,71 +8,35 @@
9 8 */
10 9  
11 10 ?>
12   -
13   -<section class="post">
14   - <div class="row">
15   - <div class="col-xs-4 col-sm-4 col-md-4">
16   - <div class="image">
17   - <a href="<?= Url::to(
18   - [
19   - 'alias' => $model->alias
20   - ]
21   - ) ?>">
22   - <?= ImageHelper::set($model->image ? $model->image->getPath() : '@frontend/web/img/no-image.png')
23   - ->cropResize(263, 197)
24   - ->renderImage(
25   - [
26   - 'class' => 'img-responsive',
27   - 'alt' => $model->title,
28   - ]
29   - ) ?>
30   - </a>
  11 +<div class="row">
  12 + <div class="col-xs-12 col-sm-5 col-md-5">
  13 + <a href="#" class="style blog-items-img">
  14 + <!--458x264px-->
  15 + <?=ImageHelper::set((!empty($model->image)) ? $model->image->getUrl() : null)->cropResize(458, 264)->renderImage()?>
  16 + </a>
  17 + </div>
  18 + <div class="col-xs-12 col-sm-7 col-md-7" style="text-align: center;">
  19 + <div class="blog-items-width">
  20 + <div class="style icons-blog-wr">
  21 + <span><?=date('d.m.Y', $model->created_at)?></span>
  22 + <span><?=$model->view?> переглядів</span>
  23 + <span>48 коментарів</span>
31 24 </div>
32   - </div>
33   - <div class="col-xs-8 col-sm-8 col-md-8">
34   - <h2><a href="<?= Url::to(
35   - [
36   - 'alias' => $model->alias
37   - ]
38   - ) ?>"><?= $model->title; ?></a></h2>
39   - <div class="clearfix">
40   - <?php if (empty($model->categories)) { ?>
41   - <p class="author-category">Без категории </p>
42   - <?php } else {
43   - $i = 0;
44   - foreach ($model->categories as $category) {
45   - $i++;
46   - ?>
47   - <p class="author-category">
48   - <a href="<?=Url::to(['alias' => $category->alias])?>"><?=$category->title?></a>
49   - <?php
50   -
51   - if ($i === count($model->categories)) {
52   - echo '&#160';
53   - } else {
54   - echo '&#44&#160';
55   - }
56   - ?></p>
57   - <?php
58   - }
59   - } ?>
60   - <p class="date-comments">
61   - <i class="fa fa-calendar-o"></i> <?= \Yii::$app->formatter->asDate($model->created_at); ?>
62   - <!-- <a href="blog-post.html"><i class="fa fa-comment-o"></i> 8 комментариев</a>-->
63   - </p>
  25 + <?php if (!empty($model->tags)){?>
  26 + <div class="style items-blog-tags">
  27 + <?php foreach ($model->tags as $tag){?>
  28 + <a href="<?=Url::to(['alias' => $tag->language->alias])?>"><?=$tag->language->label?></a>
  29 + <?php } ?>
  30 + </div>
  31 + <?php } ?>
  32 + <div class="style blog-list-title">
  33 + <a href="<?=Url::to(['alias' => $model->language->alias])?>"><?=$model->language->title?></a>
  34 + </div>
  35 + <div class="style blog-list-txt">
  36 + <?=$model->language->body_preview?>
64 37 </div>
65   - <p class="intro"><?= $model->body_preview; ?></p>
66   - <p class="read-more">
67   - <?= Html::a(
68   - 'Продолжить чтение',
69   - [
70   - '', 'alias' => $model->alias
71   - ],
72   - [
73   - 'class' => 'btn btn-template-main',
74   - ]
75   - ) ?>
76   - </p>
  38 + <div class="style blog-list-more"><a href="<?=Url::to(['alias' => $model->language->alias])?>">детальніше</a></div>
77 39 </div>
78 40 </div>
79   -</section>
  41 + <div class="col-xs-12 border-blog-items"></div>
  42 +</div>
... ...
frontend/views/blog/index.php
... ... @@ -36,191 +36,33 @@
36 36 <div class="row">
37 37 <div class="col-xs-12 col-sm-12" style="overflow: hidden;">
38 38 <ul class="blog-tags">
39   - <li class="active"><a href="#">всі</a></li>
40   - <li><a href="#">війна</a></li>
41   - <li><a href="#">історія</a></li>
42   - <li><a href="#">незалежність</a></li>
43   - <li><a href="#">україна</a></li>
  39 + <li class="active"><a href="<?=Url::to(['blog/index'])?>">всі</a></li>
  40 + <?php foreach ($tags as $tag){?>
  41 + <li><a href="<?=Url::to(['alias' => $tag->language->alias])?>"><?=$tag->language->label?></a></li>
  42 + <?php } ?>
44 43 </ul>
45 44 </div>
46 45 </div>
47   - <div class="row">
48   - <div class="col-xs-12 col-sm-12 blog-items">
49   - <div class="row">
50   - <div class="col-xs-12 col-sm-5 col-md-5">
51   - <a href="#" class="style blog-items-img">
52   - <!--458x264px-->
53   - <img src="/images/blog/min-1.jpg" alt="">
54   - </a>
55   - </div>
56   - <div class="col-xs-12 col-sm-7 col-md-7" style="text-align: center;">
57   - <div class="blog-items-width">
58   - <div class="style icons-blog-wr">
59   - <span>13.06.2018</span>
60   - <span>312 пепеглядів</span>
61   - <span>48 коментарів</span>
62   - </div>
63   - <div class="style items-blog-tags">
64   - <a href="#">Війна</a>
65   - <a href="#">Історія</a>
66   - </div>
67   - <div class="style blog-list-title">
68   - <a href="#">Таємниця зниклої РОТИ</a>
69   - </div>
70   - <div class="style blog-list-txt">
71   - <p>Бої на Ельбрусі в 1942 році були частиною масштабної битви за Кавказ. Спочатку німецької армії вдалося зайняти стратегічні позиції на Ельбрусі і встановити на вершинах свої прапори, але через кілька місяців радянські війська повернули захоплені території.</p>
72   - <p>План Гитлера состоял в том, чтобы захватить Кавказ и лишить СССР ресурсов – нефти, угля и стали. После побед под Харьковом, в Воронеже и Ростове-на-Дону немцам открылся путь к Главному Кавказскому хребту.</p>
73   - </div>
74   - <div class="style blog-list-more"><a href="#">детальніше</a></div>
75   - </div>
76   - </div>
77   - <div class="col-xs-12 border-blog-items"></div>
78   - </div>
79   - </div>
80   -
81   - <div class="col-xs-12 col-sm-12 blog-items">
82   - <div class="row">
83   - <div class="col-xs-12 col-sm-5 col-md-5">
84   - <a href="#" class="style blog-items-img">
85   - <!--458x264px-->
86   - <img src="/images/blog/min-2.jpg" alt="">
87   - </a>
88   - </div>
89   - <div class="col-xs-12 col-sm-7 col-md-7" style="text-align: center;">
90   - <div class="blog-items-width">
91   - <div class="style icons-blog-wr">
92   - <span>13.06.2018</span>
93   - <span>312 пепеглядів</span>
94   - <span>48 коментарів</span>
95   - </div>
96   - <div class="style items-blog-tags">
97   - <a href="#">Війна</a>
98   - <a href="#">Історія</a>
99   - </div>
100   - <div class="style blog-list-title">
101   - <a href="#">Таємниця зниклої РОТИ</a>
102   - </div>
103   - <div class="style blog-list-txt">
104   - <p>Бої на Ельбрусі в 1942 році були частиною масштабної битви за Кавказ. Спочатку німецької армії вдалося зайняти стратегічні позиції на Ельбрусі і встановити на вершинах свої прапори, але через кілька місяців радянські війська повернули захоплені території.</p>
105   - <p>План Гитлера состоял в том, чтобы захватить Кавказ и лишить СССР ресурсов – нефти, угля и стали. После побед под Харьковом, в Воронеже и Ростове-на-Дону немцам открылся путь к Главному Кавказскому хребту.</p>
106   - </div>
107   - <div class="style blog-list-more"><a href="#">детальніше</a></div>
108   - </div>
109   - </div>
110   - <div class="col-xs-12 border-blog-items"></div>
111   - </div>
112   - </div>
113   -
114   - <div class="col-xs-12 col-sm-12 blog-items">
115   - <div class="row">
116   - <div class="col-xs-12 col-sm-5 col-md-5">
117   - <a href="#" class="style blog-items-img">
118   - <!--458x264px-->
119   - <img src="/images/blog/min-3.jpg" alt="">
120   - </a>
121   - </div>
122   - <div class="col-xs-12 col-sm-7 col-md-7" style="text-align: center;">
123   - <div class="blog-items-width">
124   - <div class="style icons-blog-wr">
125   - <span>13.06.2018</span>
126   - <span>312 пепеглядів</span>
127   - <span>48 коментарів</span>
128   - </div>
129   - <div class="style items-blog-tags">
130   - <a href="#">Війна</a>
131   - <a href="#">Історія</a>
132   - </div>
133   - <div class="style blog-list-title">
134   - <a href="#">Таємниця зниклої РОТИ</a>
135   - </div>
136   - <div class="style blog-list-txt">
137   - <p>Бої на Ельбрусі в 1942 році були частиною масштабної битви за Кавказ. Спочатку німецької армії вдалося зайняти стратегічні позиції на Ельбрусі і встановити на вершинах свої прапори, але через кілька місяців радянські війська повернули захоплені території.</p>
138   - <p>План Гитлера состоял в том, чтобы захватить Кавказ и лишить СССР ресурсов – нефти, угля и стали. После побед под Харьковом, в Воронеже и Ростове-на-Дону немцам открылся путь к Главному Кавказскому хребту.</p>
139   - </div>
140   - <div class="style blog-list-more"><a href="#">детальніше</a></div>
141   - </div>
142   - </div>
143   - <div class="col-xs-12 border-blog-items"></div>
144   - </div>
145   - </div>
146   -
147   - <div class="col-xs-12 col-sm-12 blog-items">
148   - <div class="row">
149   - <div class="col-xs-12 col-sm-5 col-md-5">
150   - <a href="#" class="style blog-items-img">
151   - <!--458x264px-->
152   - <img src="/images/blog/min-4.jpg" alt="">
153   - </a>
154   - </div>
155   - <div class="col-xs-12 col-sm-7 col-md-7" style="text-align: center;">
156   - <div class="blog-items-width">
157   - <div class="style icons-blog-wr">
158   - <span>13.06.2018</span>
159   - <span>312 пепеглядів</span>
160   - <span>48 коментарів</span>
161   - </div>
162   - <div class="style items-blog-tags">
163   - <a href="#">Війна</a>
164   - <a href="#">Історія</a>
165   - </div>
166   - <div class="style blog-list-title">
167   - <a href="#">Таємниця зниклої РОТИ</a>
168   - </div>
169   - <div class="style blog-list-txt">
170   - <p>Бої на Ельбрусі в 1942 році були частиною масштабної битви за Кавказ. Спочатку німецької армії вдалося зайняти стратегічні позиції на Ельбрусі і встановити на вершинах свої прапори, але через кілька місяців радянські війська повернули захоплені території.</p>
171   - <p>План Гитлера состоял в том, чтобы захватить Кавказ и лишить СССР ресурсов – нефти, угля и стали. После побед под Харьковом, в Воронеже и Ростове-на-Дону немцам открылся путь к Главному Кавказскому хребту.</p>
172   - </div>
173   - <div class="style blog-list-more"><a href="#">детальніше</a></div>
174   - </div>
175   - </div>
176   - <div class="col-xs-12 border-blog-items"></div>
177   - </div>
178   - </div>
179   -
180   - <div class="col-xs-12 col-sm-12 blog-items">
181   - <div class="row">
182   - <div class="col-xs-12 col-sm-5 col-md-5">
183   - <a href="#" class="style blog-items-img">
184   - <!--458x264px-->
185   - <img src="/images/blog/min-5.jpg" alt="">
186   - </a>
187   - </div>
188   - <div class="col-xs-12 col-sm-7 col-md-7" style="text-align: center;">
189   - <div class="blog-items-width">
190   - <div class="style icons-blog-wr">
191   - <span>13.06.2018</span>
192   - <span>312 пепеглядів</span>
193   - <span>48 коментарів</span>
194   - </div>
195   - <div class="style items-blog-tags">
196   - <a href="#">Війна</a>
197   - <a href="#">Історія</a>
198   - </div>
199   - <div class="style blog-list-title">
200   - <a href="#">Таємниця зниклої РОТИ</a>
201   - </div>
202   - <div class="style blog-list-txt">
203   - <p>Бої на Ельбрусі в 1942 році були частиною масштабної битви за Кавказ. Спочатку німецької армії вдалося зайняти стратегічні позиції на Ельбрусі і встановити на вершинах свої прапори, але через кілька місяців радянські війська повернули захоплені території.</p>
204   - <p>План Гитлера состоял в том, чтобы захватить Кавказ и лишить СССР ресурсов – нефти, угля и стали. После побед под Харьковом, в Воронеже и Ростове-на-Дону немцам открылся путь к Главному Кавказскому хребту.</p>
205   - </div>
206   - <div class="style blog-list-more"><a href="#">детальніше</a></div>
207   - </div>
208   - </div>
209   - <div class="col-xs-12 border-blog-items"></div>
210   - </div>
211   - </div>
212   - </div>
  46 + <?=ListView::widget([
  47 + 'dataProvider' => $dataProvider,
  48 + 'options' => [
  49 + 'class' => 'row'
  50 + ],
  51 + 'itemOptions' => [
  52 + 'class' => 'col-xs-12 col-sm-12 blog-items'
  53 + ],
  54 + 'itemView' => '_article',
  55 + 'layout' => '{items}'
  56 + ])?>
  57 +
213 58 <div class="row">
214 59 <div class="col-xs-12 col-sm-12">
215   - <ul class="pagination">
216   - <li class="prev disabled"><span>«</span></li>
217   - <li class="active"><a data-page="0">1</a></li>
218   - <li><a href="?page=2&amp;per-page=18" data-page="1">2</a></li>
219   - <li><a href="?page=3&amp;per-page=18" data-page="2">3</a></li>
220   - <li><a href="?page=4&amp;per-page=18" data-page="3">4</a></li>
221   - <li><a href="?page=5&amp;per-page=18" data-page="4">5</a></li>
222   - <li class="last"><a href="?page=16&amp;per-page=18" data-page="15">16</a></li>
223   - <li class="next"><a href="?page=2&amp;per-page=18" data-page="1">»</a></li></ul>
  60 + <?php echo \frontend\widgets\FrontendPager::widget(
  61 + [
  62 + 'pagination' => $dataProvider->pagination,
  63 + 'maxButtonCount' => 5,
  64 + ]
  65 + ); ?>
224 66 </div>
225 67 </div>
226 68 </div>
... ...
frontend/views/blog/tag.php
1 1 <?php
2 2  
3 3 use artbox\core\components\SeoComponent;
4   - use common\models\blog\Tag;
5   - use frontend\widgets\BlogSearch;
6 4 use yii\data\ActiveDataProvider;
7 5 use artbox\core\helpers\Url;
8 6 use yii\web\View;
... ... @@ -12,104 +10,60 @@
12 10 * @var View $this
13 11 * @var ActiveDataProvider $dataProvider
14 12 * @var SeoComponent $seo
15   - * @var Tag[] $tags
16   - * @var Tag $model
  13 + * @var \common\models\blog\Tag[] $tags
  14 + * @var common\models\blog\Category[] $categories
17 15 */
18 16 $seo = \Yii::$app->get('seo');
19 17  
20   - $this->params[ 'breadcrumbs' ][] = [
21   - 'label' => \Yii::t('app', 'Блог'),
22   - 'url' => [ 'blog/index' ],
23   - ];
  18 + $this->params[ 'breadcrumbs' ][] = \Yii::t('app', 'Блог');
24 19  
25   - $this->params[ 'breadcrumbs' ][] = $seo->title;
  20 + $this->params['isBlog'] = true;
26 21  
27 22 ?>
28 23  
29   -<div id="content">
30   - <div class="container">
31   - <div class="row">
32   - <!-- *** LEFT COLUMN ***
33   -_________________________________________________________ -->
34   -
35   -
36   - <!-- <ul class="pager">-->
37   - <!-- <li class="previous"><a href="#">&larr; Назад</a>-->
38   - <!-- </li>-->
39   - <!-- <li class="next disabled"><a href="#">Вперед &rarr;</a>-->
40   - <!-- </li>-->
41   - <!-- </ul>-->
42   -
43   - <!-- /.col-md-9 -->
44   -
45   -
46   - <?= ListView::widget(
47   - [
48   - 'dataProvider' => $dataProvider,
49   - 'itemView' => '_article',
50   - 'options' => [
51   - 'class' => 'col-md-9',
52   - 'id' => 'blog-listing-medium',
53   - ],
54   - 'layout' => '{items}{pager}',
55   - ]
56   - ); ?>
57   -
58   -
59   - <!-- *** LEFT COLUMN END *** -->
60   -
61   - <!-- *** RIGHT COLUMN ***
62   -_________________________________________________________ -->
63   -
64   - <div class="col-md-3">
65   -
66   - <!-- *** MENUS AND WIDGETS ***
67   -_________________________________________________________ -->
68   - <div class="panel panel-default sidebar-menu">
69   -
70   - <div class="panel-heading">
71   - <h3 class="panel-title">Блог компании</h3>
72   - </div>
73   -
74   - <div class="panel-body text-widget">
75   - <p>
76   - Мы собираем полезные материалы по тематике бытовой техники и электроники
77   - </p>
78   -
79   - </div>
  24 +<section class="section-blog-index">
  25 + <div class="container">
  26 + <div class="row">
  27 + <div class="col-xs-12">
  28 + <div class="title-blog-index">Блог</div>
  29 + </div>
80 30 </div>
81   -
82   - <?= BlogSearch::widget(); ?>
83   -
84   - <div class="panel sidebar-menu">
85   - <div class="panel-heading">
86   - <h3 class="panel-title">Поиск по тегам</h3>
87   - </div>
88   -
89   - <div class="panel-body">
90   - <ul class="tag-cloud">
91   - <?php foreach ($tags as $tag) { ?>
92   - <li><a href="<?= Url::to(
93   - [
94   - 'alias' => $tag->alias
95   - ]
96   - ) ?>"><i class="fa fa-tags"></i>&#160<?= $tag->label; ?></a>
97   - </li>
98   - <?php } ?>
99   - </ul>
100   - </div>
  31 + </div>
  32 +</section>
  33 +
  34 +<section class="section-blox-index-next">
  35 + <div class="container">
  36 + <div class="row">
  37 + <div class="col-xs-12 col-sm-12" style="overflow: hidden;">
  38 + <ul class="blog-tags">
  39 + <li ><a href="<?=Url::to(['blog/index'])?>">всі</a></li>
  40 + <?php foreach ($tags as $tag){?>
  41 + <li <?=$model->id == $tag->id? 'class="active"' : ''?>><a href="<?=Url::to(['alias' => $tag->language->alias])?>"><?=$tag->language->label?></a></li>
  42 + <?php } ?>
  43 + </ul>
  44 + </div>
101 45 </div>
  46 + <?=ListView::widget([
  47 + 'dataProvider' => $dataProvider,
  48 + 'options' => [
  49 + 'class' => 'row'
  50 + ],
  51 + 'itemOptions' => [
  52 + 'class' => 'col-xs-12 col-sm-12 blog-items'
  53 + ],
  54 + 'itemView' => '_article',
  55 + 'layout' => '{items}'
  56 + ])?>
102 57  
103   - <!-- *** MENUS AND FILTERS END *** -->
104   -
105   - </div>
106   - <!-- /.col-md-3 -->
107   -
108   - <!-- *** RIGHT COLUMN END *** -->
109   -
  58 + <div class="row">
  59 + <div class="col-xs-12 col-sm-12">
  60 + <?php echo \frontend\widgets\FrontendPager::widget(
  61 + [
  62 + 'pagination' => $dataProvider->pagination,
  63 + 'maxButtonCount' => 5,
  64 + ]
  65 + ); ?>
  66 + </div>
  67 + </div>
110 68 </div>
111   - <!-- /.row -->
112   - </div>
113   - <!-- /.container -->
114   -</div>
115   -<!-- /#content -->
116 69 \ No newline at end of file
  70 +</section>
... ...