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 | 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 | 57 | \ No newline at end of file | ... | ... |
frontend/views/layouts/main.php
| ... | ... | @@ -3,6 +3,7 @@ |
| 3 | 3 | use common\models\Basket; |
| 4 | 4 | use common\modules\product\models\Category; |
| 5 | 5 | use frontend\assets\AppAsset; |
| 6 | +use yii\bootstrap\Nav; | |
| 6 | 7 | use yii\helpers\Html; |
| 7 | 8 | use yii\helpers\Url; |
| 8 | 9 | use yii\widgets\Breadcrumbs; |
| ... | ... | @@ -105,31 +106,29 @@ AppAsset::register($this); |
| 105 | 106 | |
| 106 | 107 | |
| 107 | 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 | 132 | <div id="top-cart" class="pull-right"> |
| 134 | 133 | <button class="btn btn-cart ">Корзина <i></i></button> |
| 135 | 134 | <div id="top-cart-content"> | ... | ... |