Commit b433e5606110d41ac21892eefc08c22b0e0f75fd

Authored by Alexey Boroda
1 parent 518c4e3f

-Blog ready

frontend/controllers/BlogController.php
... ... @@ -70,6 +70,8 @@
70 70 ];
71 71  
72 72 $this->view->params[ 'breadcrumbs' ][] = $category->lang->title;
  73 +
  74 + $this->view->params[ 'category' ] = $category->id;
73 75 }
74 76  
75 77 $dataProvider = new ActiveDataProvider(
... ... @@ -115,6 +117,8 @@
115 117 ];
116 118  
117 119 $this->view->params[ 'breadcrumbs' ][] = $tag->lang->label;
  120 +
  121 + $this->view->params[ 'tag' ] = $tag->id;
118 122 }
119 123  
120 124 $dataProvider = new ActiveDataProvider(
... ...
frontend/views/blog/_article.php
... ... @@ -53,7 +53,14 @@
53 53 'blog/article',
54 54 'alias' => $model->lang->alias,
55 55 ]
56   - ) ?>"><i class="fa fa-comment-o"></i> 8 Comments</a>
  56 + ) ?>"><i class="fa fa-comment-o"></i> <?php
  57 + $count = $model->getCommentsCount();
  58 + if ($count) {
  59 + echo $count;
  60 + } else {
  61 + echo '0';
  62 + }
  63 + ?> Comments</a>
57 64 </p>
58 65 </div>
59 66 </div>
... ...
frontend/views/blog/article.php
... ... @@ -2,6 +2,7 @@
2 2  
3 3 use artbox\webcomment\widgets\CommentWidget;
4 4 use artbox\weblog\models\Article;
  5 + use frontend\widgets\BlogSidebar;
5 6 use yii\helpers\Html;
6 7 use yii\web\View;
7 8  
... ... @@ -52,99 +53,6 @@ _________________________________________________________ --&gt;
52 53  
53 54 </div>
54 55 <!-- /#post-content -->
55   -
56   - <!-- <div id="comments">-->
57   - <!-- <h4 class="text-uppercase">2 comments</h4>-->
58   - <!-- -->
59   - <!-- -->
60   - <!-- <div class="row comment">-->
61   - <!-- <div class="col-sm-3 col-md-2 text-center-xs">-->
62   - <!-- <p>-->
63   - <!-- <img src="img/blog-avatar2.jpg" class="img-responsive img-circle" alt="">-->
64   - <!-- </p>-->
65   - <!-- </div>-->
66   - <!-- <div class="col-sm-9 col-md-10">-->
67   - <!-- <h5 class="text-uppercase">Julie Alma</h5>-->
68   - <!-- <p class="posted"><i class="fa fa-clock-o"></i> September 23, 2011 at 12:00 am</p>-->
69   - <!-- <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.-->
70   - <!-- Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>-->
71   - <!-- <p class="reply"><a href="#"><i class="fa fa-reply"></i> Reply</a>-->
72   - <!-- </p>-->
73   - <!-- </div>-->
74   - <!-- </div>-->
75   - <!---->
76   - <!-- -->
77   - <!-- -->
78   - <!-- <div class="row comment last">-->
79   - <!-- -->
80   - <!-- <div class="col-sm-3 col-md-2 text-center-xs">-->
81   - <!-- <p>-->
82   - <!-- <img src="img/blog-avatar.jpg" class="img-responsive img-circle" alt="">-->
83   - <!-- </p>-->
84   - <!-- </div>-->
85   - <!-- -->
86   - <!-- <div class="col-sm-9 col-md-10">-->
87   - <!-- <h5 class="text-uppercase">Louise Armero</h5>-->
88   - <!-- <p class="posted"><i class="fa fa-clock-o"></i> September 23, 2012 at 12:00 am</p>-->
89   - <!-- <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.-->
90   - <!-- Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>-->
91   - <!-- <p class="reply"><a href="#"><i class="fa fa-reply"></i> Reply</a>-->
92   - <!-- </p>-->
93   - <!-- </div>-->
94   - <!-- -->
95   - <!-- </div>-->
96   - <!---->
97   - <!-- </div>-->
98   -
99   -
100   - <!-- <div id="comment-form">-->
101   - <!-- -->
102   - <!-- <h4 class="text-uppercase">Leave comment</h4>-->
103   - <!-- -->
104   - <!-- <form>-->
105   - <!-- <div class="row">-->
106   - <!-- -->
107   - <!-- <div class="col-sm-6">-->
108   - <!-- <div class="form-group">-->
109   - <!-- <label for="name">Name <span class="required">*</span>-->
110   - <!-- </label>-->
111   - <!-- <input type="text" class="form-control" id="name">-->
112   - <!-- </div>-->
113   - <!-- </div>-->
114   - <!-- -->
115   - <!-- </div>-->
116   - <!-- -->
117   - <!-- <div class="row">-->
118   - <!-- <div class="col-sm-6">-->
119   - <!-- <div class="form-group">-->
120   - <!-- <label for="email">Email <span class="required">*</span>-->
121   - <!-- </label>-->
122   - <!-- <input type="text" class="form-control" id="email">-->
123   - <!-- </div>-->
124   - <!-- </div>-->
125   - <!-- </div>-->
126   - <!-- -->
127   - <!-- <div class="row">-->
128   - <!-- <div class="col-sm-12">-->
129   - <!-- <div class="form-group">-->
130   - <!-- <label for="comment">Comment <span class="required">*</span>-->
131   - <!-- </label>-->
132   - <!-- <textarea class="form-control" id="comment" rows="4"></textarea>-->
133   - <!-- </div>-->
134   - <!-- </div>-->
135   - <!-- </div>-->
136   - <!-- -->
137   - <!-- <div class="row">-->
138   - <!-- <div class="col-sm-12 text-right">-->
139   - <!-- <button class="btn btn-template-main"><i class="fa fa-comment-o"></i> Post comment</button>-->
140   - <!-- </div>-->
141   - <!-- </div>-->
142   - <!-- -->
143   - <!-- -->
144   - <!-- </form>-->
145   - <!-- -->
146   - <!-- </div>-->
147   - <!-- /#comment-form -->
148 56  
149 57 <?php
150 58 echo CommentWidget::widget(
... ... @@ -170,7 +78,9 @@ _________________________________________________________ --&gt;
170 78  
171 79 <!-- *** LEFT COLUMN END *** -->
172 80  
173   - <?= $this->render('_sidebar') ?>
  81 + <?= BlogSidebar::widget([
  82 + 'viewParams' => $this->params,
  83 + ]); ?>
174 84  
175 85 </div>
176 86 <!-- /.row -->
... ...
frontend/views/blog/index.php
1 1 <?php
2 2  
  3 + use frontend\widgets\BlogSidebar;
3 4 use yii\data\ActiveDataProvider;
4 5 use yii\web\View;
5 6 use yii\widgets\ListView;
... ... @@ -32,7 +33,11 @@ _________________________________________________________ --&gt;
32 33  
33 34 <!-- *** LEFT COLUMN END *** -->
34 35  
35   - <?= $this->render('_sidebar') ?>
  36 + <?= BlogSidebar::widget(
  37 + [
  38 + 'viewParams' => $this->params,
  39 + ]
  40 + ); ?>
36 41  
37 42 </div>
38 43 <!-- /.row -->
... ...
frontend/widgets/BlogSidebar.php 0 โ†’ 100644
  1 +<?php
  2 +
  3 + namespace frontend\widgets;
  4 +
  5 + use artbox\weblog\models\Category;
  6 + use artbox\weblog\models\Tag;
  7 + use yii\base\Widget;
  8 +
  9 + /**
  10 + * Class BlogSidebar
  11 + *
  12 + * @property Category[] $categories
  13 + * @property Tag[] $tags
  14 + * @package frontend\widgets
  15 + */
  16 + class BlogSidebar extends Widget
  17 + {
  18 + public $categories = [];
  19 +
  20 + public $tags = [];
  21 +
  22 + public $viewParams = [];
  23 +
  24 + public function init()
  25 + {
  26 + parent::init();
  27 +
  28 + $this->categories = Category::find()
  29 + ->with('lang.alias')
  30 + ->all();
  31 +
  32 + $this->tags = Tag::find()
  33 + ->with('lang.alias')
  34 + ->all();
  35 + }
  36 +
  37 + public function run()
  38 + {
  39 + return $this->render(
  40 + '_sidebar',
  41 + [
  42 + 'categories' => $this->categories,
  43 + 'tags' => $this->tags,
  44 + 'params' => $this->viewParams,
  45 + ]
  46 + );
  47 + }
  48 + }
0 49 \ No newline at end of file
... ...
frontend/views/blog/_sidebar.php renamed to frontend/widgets/views/_sidebar.php
1 1 <?php
2 2  
  3 + use artbox\weblog\models\Category;
  4 + use artbox\weblog\models\Tag;
  5 + use yii\helpers\Url;
3 6 use yii\web\View;
4 7  
5 8 /**
6   - * @var View $this
  9 + * @var View $this
  10 + * @var Category[] $categories
  11 + * @var Tag[] $tags
  12 + * @var array $params
7 13 */
8   -
9   - ?>
  14 +
  15 +?>
10 16  
11 17 <!-- *** RIGHT COLUMN ***
12 18 _________________________________________________________ -->
13 19  
14 20 <div class="col-md-3">
15   -
16   - <!-- *** MENUS AND WIDGETS ***
  21 +
  22 + <!-- *** MENUS AND WIDGETS ***
17 23 _________________________________________________________ -->
  24 +
  25 + <!-- <div class="panel panel-default sidebar-menu">-->
  26 + <!-- -->
  27 + <!-- <div class="panel-heading">-->
  28 + <!-- <h3 class="panel-title">Search</h3>-->
  29 + <!-- </div>-->
  30 + <!-- -->
  31 + <!-- <div class="panel-body">-->
  32 + <!-- <form role="search">-->
  33 + <!-- <div class="input-group">-->
  34 + <!-- <input type="text" class="form-control" placeholder="Search">-->
  35 + <!-- <span class="input-group-btn">-->
  36 + <!---->
  37 + <!-- <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>-->
  38 + <!---->
  39 + <!-- </span>-->
  40 + <!-- </div>-->
  41 + <!-- </form>-->
  42 + <!-- </div>-->
  43 + <!-- </div>-->
  44 +
  45 + <div class="panel panel-default sidebar-menu">
18 46  
19   - <!-- <div class="panel panel-default sidebar-menu">-->
20   - <!-- -->
21   - <!-- <div class="panel-heading">-->
22   - <!-- <h3 class="panel-title">Search</h3>-->
23   - <!-- </div>-->
24   - <!-- -->
25   - <!-- <div class="panel-body">-->
26   - <!-- <form role="search">-->
27   - <!-- <div class="input-group">-->
28   - <!-- <input type="text" class="form-control" placeholder="Search">-->
29   - <!-- <span class="input-group-btn">-->
30   - <!---->
31   - <!-- <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>-->
32   - <!---->
33   - <!-- </span>-->
34   - <!-- </div>-->
35   - <!-- </form>-->
36   - <!-- </div>-->
37   - <!-- </div>-->
38   -
39   - <div class="panel panel-default sidebar-menu">
40   -
41   - <div class="panel-heading">
42   - <h3 class="panel-title">Categories</h3>
43   - </div>
44   -
45   - <div class="panel-body">
46   - <ul class="nav nav-pills nav-stacked">
47   - <li><a href="blog.html">Webdesign</a>
48   - </li>
49   - <li class="active"><a href="blog.html">Tutorials</a>
50   - </li>
51   - <li><a href="blog.html">Print</a>
52   - </li>
53   - <li><a href="blog.html">Our tips</a>
54   - </li>
55   - </ul>
56   - </div>
  47 + <div class="panel-heading">
  48 + <h3 class="panel-title">Categories</h3>
57 49 </div>
58 50  
59   - <div class="panel sidebar-menu">
60   - <div class="panel-heading">
61   - <h3 class="panel-title">Tags</h3>
62   - </div>
63   -
64   - <div class="panel-body">
65   - <ul class="tag-cloud">
66   - <li><a href="#"><i class="fa fa-tags"></i> html5</a>
67   - </li>
68   - <li><a href="#"><i class="fa fa-tags"></i> css3</a>
69   - </li>
70   - <li><a href="#"><i class="fa fa-tags"></i> jquery</a>
71   - </li>
72   - <li><a href="#"><i class="fa fa-tags"></i> ajax</a>
73   - </li>
74   - <li><a href="#"><i class="fa fa-tags"></i> php</a>
75   - </li>
76   - <li><a href="#"><i class="fa fa-tags"></i> responsive</a>
77   - </li>
78   - <li><a href="#"><i class="fa fa-tags"></i> visio</a>
79   - </li>
80   - <li><a href="#"><i class="fa fa-tags"></i> bootstrap</a>
81   - </li>
82   - </ul>
83   - </div>
  51 + <div class="panel-body">
  52 + <ul class="nav nav-pills nav-stacked">
  53 + <?php foreach ($categories as $category) { ?>
  54 + <li<?php
  55 + if (!empty($params['category']) && $params['category'] === $category->id) {
  56 + echo ' class="active"';
  57 + }
  58 + ?>><a href="<?= Url::to(
  59 + [
  60 + 'blog/category',
  61 + 'alias' => $category->lang->alias,
  62 + ]
  63 + ) ?>"><?= $category->lang->title ?></a>
  64 + </li>
  65 + <?php } ?>
  66 + </ul>
  67 + </div>
  68 + </div>
  69 +
  70 + <div class="panel sidebar-menu">
  71 + <div class="panel-heading">
  72 + <h3 class="panel-title">Tags</h3>
84 73 </div>
85 74  
86   - <!-- *** MENUS AND FILTERS END *** -->
  75 + <div class="panel-body">
  76 + <ul class="tag-cloud">
  77 + <?php foreach ($tags as $tag) { ?>
  78 + <li<?php
  79 + if (!empty($params['tag']) && $params['tag'] === $tag->id) {
  80 + echo ' class="active"';
  81 + }
  82 + ?>><a href="<?= Url::to(
  83 + [
  84 + 'blog/tag',
  85 + 'alias' => $tag->lang->alias,
  86 + ]
  87 + ) ?>"><i class="fa fa-tags"></i> <?= $tag->lang->label ?></a>
  88 + </li>
  89 + <?php } ?>
  90 + </ul>
  91 + </div>
  92 + </div>
  93 +
  94 + <!-- *** MENUS AND FILTERS END *** -->
87 95  
88 96 </div>
89 97 <!-- /.col-md-3 -->
... ...