Commit cf77cbae6972024b85b4ba026457b67ed2f03333
1 parent
d29a2cfa
14.09.16
Showing
4 changed files
with
23 additions
and
16 deletions
Show diff stats
frontend/config/main.php
@@ -138,9 +138,9 @@ return [ | @@ -138,9 +138,9 @@ return [ | ||
138 | 'brands' => 'catalog/brands', | 138 | 'brands' => 'catalog/brands', |
139 | 'brands/<brand:[\w\-]+>' => 'catalog/brand', | 139 | 'brands/<brand:[\w\-]+>' => 'catalog/brand', |
140 | 'blog' => 'articles/index', | 140 | 'blog' => 'articles/index', |
141 | - 'blog/<translit:[\w\-]+>-<id:\d+>' => 'articles/show', | 141 | + 'blog/<translit:[\w\-\_]+>' => 'articles/show', |
142 | 'event' => 'event/index', | 142 | 'event' => 'event/index', |
143 | - 'event/<alias:[\w\-]+>-<id:\d+>' => 'event/show', | 143 | + 'event/<alias:[\w\-]+>' => 'event/show', |
144 | '<language:(ru|ua|en)>/<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>', | 144 | '<language:(ru|ua|en)>/<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>', |
145 | '<language:(ru|ua|en)>/<controller:\w+>/<action:\w+>' => '<controller>/<action>', | 145 | '<language:(ru|ua|en)>/<controller:\w+>/<action:\w+>' => '<controller>/<action>', |
146 | '<language:(ru|ua|en)>/admin' => 'admin/default/index', | 146 | '<language:(ru|ua|en)>/admin' => 'admin/default/index', |
frontend/controllers/ArticlesController.php
@@ -7,7 +7,7 @@ use yii\web\Controller; | @@ -7,7 +7,7 @@ use yii\web\Controller; | ||
7 | use common\models\Articles; | 7 | use common\models\Articles; |
8 | use yii\web\HttpException; | 8 | use yii\web\HttpException; |
9 | use yii\data\Pagination; | 9 | use yii\data\Pagination; |
10 | - | 10 | +use yii\web\NotFoundHttpException; |
11 | class ArticlesController extends Controller | 11 | class ArticlesController extends Controller |
12 | { | 12 | { |
13 | 13 | ||
@@ -30,13 +30,23 @@ class ArticlesController extends Controller | @@ -30,13 +30,23 @@ class ArticlesController extends Controller | ||
30 | ]); | 30 | ]); |
31 | } | 31 | } |
32 | 32 | ||
33 | - public function actionShow(){ | ||
34 | - if(!$news = Articles::find()->where(['id'=>$_GET['id']])->one()) | ||
35 | - throw new HttpException(404, 'Данной странице не существует!'); | 33 | + public function actionShow($translit){ |
34 | + $news = $this->findModel($translit); | ||
35 | + | ||
36 | 36 | ||
37 | - return $this->render('show', [ | ||
38 | - 'news'=>$news, | ||
39 | - ]); | 37 | + return $this->render('show', [ |
38 | + 'news'=>$news, | ||
39 | + ]); | ||
40 | + } | ||
41 | + | ||
42 | + | ||
43 | + protected function findModel($translit) | ||
44 | + { | ||
45 | + if (($model = Articles::findOne(["translit"=>$translit])) !== null) { | ||
46 | + return $model; | ||
47 | + } else { | ||
48 | + throw new NotFoundHttpException('The requested page does not exist.'); | ||
49 | + } | ||
40 | } | 50 | } |
41 | 51 | ||
42 | } | 52 | } |
43 | \ No newline at end of file | 53 | \ No newline at end of file |
frontend/views/articles/index.php
@@ -39,15 +39,13 @@ | @@ -39,15 +39,13 @@ | ||
39 | <div class="news_item"> | 39 | <div class="news_item"> |
40 | <a href="<?= Url::to([ | 40 | <a href="<?= Url::to([ |
41 | 'articles/show', | 41 | 'articles/show', |
42 | - 'translit' => $item->translit, | ||
43 | - 'id' => $item->id, | 42 | + 'translit' => $item->translit |
44 | ]) ?>"> | 43 | ]) ?>"> |
45 | <?= Html::img(\common\components\artboximage\ArtboxImageHelper::getImageSrc($item->imageUrl, 'list'), [ 'class' => 'float-left' ]) ?> | 44 | <?= Html::img(\common\components\artboximage\ArtboxImageHelper::getImageSrc($item->imageUrl, 'list'), [ 'class' => 'float-left' ]) ?> |
46 | </a> | 45 | </a> |
47 | <a href="<?= Url::to([ | 46 | <a href="<?= Url::to([ |
48 | 'articles/show', | 47 | 'articles/show', |
49 | - 'translit' => $item->translit, | ||
50 | - 'id' => $item->id, | 48 | + 'translit' => $item->translit |
51 | ]) ?>" class="name"><?= $item->title ?></a><br/> | 49 | ]) ?>" class="name"><?= $item->title ?></a><br/> |
52 | <div class="comment_display_block article_list_comment"> | 50 | <div class="comment_display_block article_list_comment"> |
53 | <?php | 51 | <?php |
@@ -63,7 +61,6 @@ | @@ -63,7 +61,6 @@ | ||
63 | echo Html::a(( $comment_count ? 'Отзывов: ' . count($item->comments) : "Оставить отзыв" ), [ | 61 | echo Html::a(( $comment_count ? 'Отзывов: ' . count($item->comments) : "Оставить отзыв" ), [ |
64 | 'articles/show', | 62 | 'articles/show', |
65 | 'translit' => $item->translit, | 63 | 'translit' => $item->translit, |
66 | - 'id' => $item->id, | ||
67 | '#' => 'artbox-comment', | 64 | '#' => 'artbox-comment', |
68 | ]); | 65 | ]); |
69 | ?> | 66 | ?> |
frontend/views/event/_objects.php
@@ -9,11 +9,11 @@ FlipclockAsset::register($this); | @@ -9,11 +9,11 @@ FlipclockAsset::register($this); | ||
9 | <div class="news_item"> | 9 | <div class="news_item"> |
10 | <div> | 10 | <div> |
11 | <div> | 11 | <div> |
12 | - <a href="<?=Url::to(['event/show','alias'=>$model->alias,'id'=>$model->primaryKey])?>" class="name"><?=$model->name?></a> | 12 | + <a href="<?=Url::to(['event/show','alias'=>$model->alias])?>" class="name"><?=$model->name?></a> |
13 | </div> | 13 | </div> |
14 | 14 | ||
15 | <div style="position: relative"> | 15 | <div style="position: relative"> |
16 | - <a href="<?=Url::to(['event/show','alias'=>$model->alias,'id'=>$model->primaryKey])?>"> | 16 | + <a href="<?=Url::to(['event/show','alias'=>$model->alias])?>"> |
17 | <?= \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'event_left', ['align' => 'left'])?> | 17 | <?= \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'event_left', ['align' => 'left'])?> |
18 | </a> | 18 | </a> |
19 | 19 |