Commit b433e5606110d41ac21892eefc08c22b0e0f75fd
1 parent
518c4e3f
-Blog ready
Showing
6 changed files
with
147 additions
and
165 deletions
Show diff stats
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 @@ _________________________________________________________ --> |
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 @@ _________________________________________________________ --> |
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 @@ _________________________________________________________ --> |
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 --> | ... | ... |
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 --> | ... | ... |