Commit 5842c37f104a32243d04f8d39a9dbf285d279625
1 parent
c93ce871
big commti
Showing
4 changed files
with
199 additions
and
24 deletions
Show diff stats
1 | +<?php | ||
2 | + | ||
3 | +namespace frontend\controllers; | ||
4 | + | ||
5 | +use Yii; | ||
6 | +use yii\web\Controller; | ||
7 | +use common\models\Articles; | ||
8 | +use yii\web\HttpException; | ||
9 | +use yii\data\Pagination; | ||
10 | + | ||
11 | +class ArticlesController extends Controller | ||
12 | +{ | ||
13 | + | ||
14 | + public function actionIndex() | ||
15 | + { | ||
16 | + | ||
17 | + $query = Articles::find()->groupBy('id')->orderBy('id DESC') ; | ||
18 | + $countQuery = clone $query; | ||
19 | + $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize'=>18]); | ||
20 | + $pages->forcePageParam = false; | ||
21 | + $pages->pageSizeParam = false; | ||
22 | + $news = $query->offset($pages->offset) | ||
23 | + ->with(['comments.rating', 'averageRating']) | ||
24 | + ->limit($pages->limit) | ||
25 | + ->all(); | ||
26 | + | ||
27 | + return $this->render('index', [ | ||
28 | + 'pages'=>$pages, | ||
29 | + 'news'=>$news, | ||
30 | + ]); | ||
31 | + } | ||
32 | + | ||
33 | + public function actionShow(){ | ||
34 | + if(!$news = Articles::find()->where(['id'=>$_GET['id']])->one()) | ||
35 | + throw new HttpException(404, 'Данной странице не существует!'); | ||
36 | + | ||
37 | + return $this->render('show', [ | ||
38 | + 'news'=>$news, | ||
39 | + ]); | ||
40 | + } | ||
41 | + | ||
42 | +} | ||
0 | \ No newline at end of file | 43 | \ No newline at end of file |
1 | +<?php | ||
2 | + use common\modules\comment\assets\CommentAsset; | ||
3 | + use yii\helpers\Html; | ||
4 | + use yii\helpers\Url; | ||
5 | + use yii\widgets\Breadcrumbs; | ||
6 | + //use app\models\News; | ||
7 | + use yii\widgets\LinkPager; | ||
8 | + use frontend\components\Text; | ||
9 | + Yii::$app->getModule('artbox-comment'); | ||
10 | + CommentAsset::register($this); | ||
11 | +?> | ||
12 | +<?php | ||
13 | + $this->title = 'Блог'; | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + $this->params['breadcrumbs'][] = $this->title; | ||
18 | + | ||
19 | + $this->registerMetaTag([ | ||
20 | + 'name' => 'description', | ||
21 | + 'content' => 'Блог', | ||
22 | + ]); | ||
23 | + $this->registerMetaTag([ | ||
24 | + 'name' => 'keywords', | ||
25 | + 'content' => 'Блог', | ||
26 | + ]); | ||
27 | +?> | ||
28 | + | ||
29 | + | ||
30 | +<div class="container"> | ||
31 | + <h1>Блог</h1> | ||
32 | + | ||
33 | + <?php foreach($news as $item): ?> | ||
34 | + <div class="news_item"> | ||
35 | + <a href="<?= Url::to([ | ||
36 | + 'articles/show', | ||
37 | + 'translit' => $item->translit, | ||
38 | + 'id' => $item->id, | ||
39 | + ]) ?>"> | ||
40 | + <?= Html::img(\common\components\artboximage\ArtboxImageHelper::getImageSrc($item->imageUrl, 'list'), [ 'class' => 'float-left' ]) ?> | ||
41 | + </a> | ||
42 | + <a href="<?= Url::to([ | ||
43 | + 'articles/show', | ||
44 | + 'translit' => $item->translit, | ||
45 | + 'id' => $item->id, | ||
46 | + ]) ?>" class="name"><?= $item->title ?></a><br/> | ||
47 | + <div class="comment_display_block article_list_comment"> | ||
48 | + <?php | ||
49 | + if(!empty( $item->averageRating && $item->averageRating->value > 0 )) { | ||
50 | + ?> | ||
51 | + <div class="rateit" data-rateit-value="<?php echo $item->averageRating->value; ?>" data-rateit-readonly="true" data-rateit-ispreset="true"></div> | ||
52 | + <?php | ||
53 | + } | ||
54 | + ?> | ||
55 | + <p> | ||
56 | + <?php | ||
57 | + $comment_count = count($item->comments); | ||
58 | + echo Html::a(( $comment_count ? 'Отзывов: ' . count($item->comments) : "Оставить отзыв" ), [ | ||
59 | + 'articles/show', | ||
60 | + 'translit' => $item->translit, | ||
61 | + 'id' => $item->id, | ||
62 | + '#' => 'artbox-comment', | ||
63 | + ]); | ||
64 | + ?> | ||
65 | + </p> | ||
66 | + </div> | ||
67 | + <?= Text::getShort($item->body, 600); ?> | ||
68 | + <div class="both"></div> | ||
69 | + </div> | ||
70 | + <?php endforeach; ?> | ||
71 | + | ||
72 | + <div class="both"></div> | ||
73 | + <?= LinkPager::widget([ | ||
74 | + 'pagination' => $pages, | ||
75 | + 'registerLinkTags' => true, | ||
76 | + ]); ?> | ||
77 | + | ||
78 | +</div> |
1 | +<?php | ||
2 | + use common\modules\comment\widgets\CommentWidget; | ||
3 | + use yii\helpers\Html; | ||
4 | +use yii\widgets\Breadcrumbs; | ||
5 | +?> | ||
6 | +<?php | ||
7 | + | ||
8 | +$this->title = $news->meta_title; | ||
9 | +$this->params['seo']['title'] = !empty($this->title) ?$this->title :$news->title; | ||
10 | +$this->registerMetaTag(['name' => 'description', 'content' => $news->meta_description]); | ||
11 | +$this->params[ 'breadcrumbs' ][] = ['label'=>'Блог','url'=>['/blog']]; | ||
12 | +$this->params[ 'breadcrumbs' ][] = $news->title; | ||
13 | +?> | ||
14 | + | ||
15 | + | ||
16 | +<div class="container"> | ||
17 | + | ||
18 | + <div class="content"> | ||
19 | + <h1 class="article_title"><?=$news->title?></h1> | ||
20 | + <div class="artbox_comment_description article_comment_description"> | ||
21 | + <?php | ||
22 | + if(!empty( $news->averageRating ) && $news->averageRating->value) { | ||
23 | + ?> | ||
24 | + <div class="rateit" data-rateit-value="<?php echo $news->averageRating->value; ?>" data-rateit-readonly="true" data-rateit-ispreset="true"></div> | ||
25 | + <?php | ||
26 | + } | ||
27 | + ?> | ||
28 | + <p><a href="#artbox-comment"> | ||
29 | + <?php | ||
30 | + $comment_count = count($news->comments); | ||
31 | + if($comment_count) { | ||
32 | + echo "Отзывов: " . $comment_count; | ||
33 | + } else { | ||
34 | + echo "Оставть отзыв"; | ||
35 | + } | ||
36 | + ?> | ||
37 | + </a></p> | ||
38 | + </div> | ||
39 | + <?= Html::img(\common\components\artboximage\ArtboxImageHelper::getImageSrc($news->imageUrl, 'product'), ['class'=>'blog-show-img float-left'])?> | ||
40 | + <?=$news->body?> | ||
41 | + <p class='date'><?=$news->date?></p> | ||
42 | + </div> | ||
43 | + | ||
44 | + <div class="comment-wrapper" style="padding-bottom:25px"> | ||
45 | + <div class='comments-border'></div> | ||
46 | + <?php | ||
47 | + echo CommentWidget::widget([ | ||
48 | + 'model' => $news, | ||
49 | + 'layout' => "{form} {reply_form} {list}" | ||
50 | + ]); | ||
51 | + ?> | ||
52 | + <div class="both"></div> | ||
53 | + </div> | ||
54 | + <div class="both"></div> | ||
55 | + | ||
56 | +</div> | ||
0 | \ No newline at end of file | 57 | \ No newline at end of file |
frontend/views/layouts/main.php
@@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
3 | use common\models\Basket; | 3 | use common\models\Basket; |
4 | use common\modules\product\models\Category; | 4 | use common\modules\product\models\Category; |
5 | use frontend\assets\AppAsset; | 5 | use frontend\assets\AppAsset; |
6 | +use yii\bootstrap\Nav; | ||
6 | use yii\helpers\Html; | 7 | use yii\helpers\Html; |
7 | use yii\helpers\Url; | 8 | use yii\helpers\Url; |
8 | use yii\widgets\Breadcrumbs; | 9 | use yii\widgets\Breadcrumbs; |
@@ -105,31 +106,29 @@ AppAsset::register($this); | @@ -105,31 +106,29 @@ AppAsset::register($this); | ||
105 | 106 | ||
106 | 107 | ||
107 | </div> | 108 | </div> |
109 | + <?php | ||
110 | + $items = [ | ||
111 | + ['label' => 'Статьи', 'url' => '/articles/index'], | ||
112 | + ['label' => 'Магазины', 'url' => 'site/contacts'], | ||
113 | + ['label' => 'Скидки', 'url' => 'site/contacts'], | ||
114 | + ['label' => 'Гарантии', 'url' => 'site/contacts'], | ||
115 | + ['label' => 'Оплата', 'url' => 'site/contacts'], | ||
116 | + ['label' => 'Доставка', 'url' => 'site/contacts'], | ||
117 | + ['label' => 'Контакты', 'url' => 'site/contacts'], | ||
118 | + ]; | ||
119 | + | ||
120 | + if(Yii::$app->user->isGuest){ | ||
121 | + $items[] = ['label' => 'Личный кабинет', 'url' => '#','options' =>['data-toggle' => 'modal', 'data-target' => '#myAccount']]; | ||
122 | + } else{ | ||
123 | + $items[] = ['label' =>Yii::$app->user->identity->username, 'url' =>Url::toRoute(['cabinet/index'])]; | ||
124 | + } | ||
125 | + echo Nav::widget([ | ||
126 | + 'options' => ['class' => 'top-menu pull-left'], | ||
127 | + 'items' => $items | ||
128 | + ])?> | ||
129 | + | ||
130 | + | ||
108 | 131 | ||
109 | - <ul class="top-menu pull-left"> | ||
110 | - <li> | ||
111 | - <a href="http://www.linija-svitla.ua/sales.htm">Распродажа</a> | ||
112 | - <ul> | ||
113 | - <li><a href="sales.htm?spec=12">Скидка -50%</a></li> | ||
114 | - <li><a href="sales.htm?spec=15">Скидка -60%</a></li> | ||
115 | - <li><a href="sales.htm?spec=2">Скидка -30%</a></li> | ||
116 | - <li><a href="sales.htm?spec=1">Скидка -40%</a></li> | ||
117 | - </ul> | ||
118 | - </li> | ||
119 | - <li><a href="http://www.linija-svitla.ua/shops.htm">Магазины</a></li> | ||
120 | - <li><a href="http://www.linija-svitla.ua/nonsimple_discounts.htm">Скидки</a></li> | ||
121 | - <li><a href="http://www.linija-svitla.ua/guarantee.htm">Гарантии</a></li> | ||
122 | - <li><a href="http://www.linija-svitla.ua/payment.htm">Оплата</a></li> | ||
123 | - <li><a href="http://www.linija-svitla.ua/delivery.htm">Доставка</a></li> | ||
124 | - <li><a href="http://www.linija-svitla.ua/contacts.htm">Контакты</a></li> | ||
125 | - <?php | ||
126 | - if (Yii::$app->user->isGuest) { ?> | ||
127 | - <li><a href="#" data-toggle="modal" data-target="#myAccount">Личный кабинет</a></li> | ||
128 | - <?php } else { ?> | ||
129 | - <li><?= Html::a( Yii::$app->user->identity->username , Url::toRoute(['cabinet/index'])); ?></li> | ||
130 | - <?php } ?> | ||
131 | - | ||
132 | - </ul> | ||
133 | <div id="top-cart" class="pull-right"> | 132 | <div id="top-cart" class="pull-right"> |
134 | <button class="btn btn-cart ">Корзина <i></i></button> | 133 | <button class="btn btn-cart ">Корзина <i></i></button> |
135 | <div id="top-cart-content"> | 134 | <div id="top-cart-content"> |