Commit 14c89ea2d0a881a279adcb32648bd4c0519c277f
1 parent
a90233d1
seo
Showing
5 changed files
with
62 additions
and
4 deletions
Show diff stats
common/config/main.php
1 | +<?php | ||
2 | + /** | ||
3 | + * Created by PhpStorm. | ||
4 | + * User: stes | ||
5 | + * Date: 02.08.18 | ||
6 | + * Time: 12:41 | ||
7 | + */ | ||
8 | + | ||
9 | + namespace frontend\components; | ||
10 | + | ||
11 | + class SeoComponent extends \artbox\core\components\SeoComponent | ||
12 | + { | ||
13 | + /** | ||
14 | + * @todo Refactor later for sorting and pagination | ||
15 | + * @return string | ||
16 | + */ | ||
17 | + public $close = [ | ||
18 | + 'support', | ||
19 | + 'author', | ||
20 | + 'book/add', | ||
21 | + 'book/success', | ||
22 | + 'site/login', | ||
23 | + 'site/register' | ||
24 | + ]; | ||
25 | + | ||
26 | + public function getRobots() | ||
27 | + { | ||
28 | + if (array_search(\Yii::$app->controller->id, $this->close)){ | ||
29 | + return 'noindex, nofollow'; | ||
30 | + } | ||
31 | + if (array_search(\Yii::$app->request->pathInfo, $this->close)){ | ||
32 | + return 'noindex, nofollow'; | ||
33 | + } | ||
34 | + | ||
35 | + if (!empty($this->robots)) { | ||
36 | + return $this->robots; | ||
37 | + } | ||
38 | + | ||
39 | + if (!empty($this->alias) && !empty($this->alias->getRobots())) { | ||
40 | + return $this->alias->getRobots(); | ||
41 | + } | ||
42 | + | ||
43 | + return 'index,follow'; | ||
44 | + } | ||
45 | + | ||
46 | + } | ||
0 | \ No newline at end of file | 47 | \ No newline at end of file |
frontend/config/main.php
frontend/views/layouts/main.php
@@ -49,6 +49,13 @@ | @@ -49,6 +49,13 @@ | ||
49 | JS; | 49 | JS; |
50 | $this->registerJs($js, View::POS_READY); | 50 | $this->registerJs($js, View::POS_READY); |
51 | } | 51 | } |
52 | + | ||
53 | + $this->registerMetaTag( | ||
54 | + [ | ||
55 | + 'name' => 'robots', | ||
56 | + 'content' => $seo->robots, | ||
57 | + ] | ||
58 | + ); | ||
52 | ?> | 59 | ?> |
53 | 60 | ||
54 | <?php $this->beginPage() ?> | 61 | <?php $this->beginPage() ?> |
frontend/views/support/index.php
@@ -2,10 +2,15 @@ | @@ -2,10 +2,15 @@ | ||
2 | /** | 2 | /** |
3 | * @var \common\models\Book $book | 3 | * @var \common\models\Book $book |
4 | * @var \common\models\Support $model | 4 | * @var \common\models\Support $model |
5 | + * @var \artbox\core\components\SeoComponent $seo | ||
5 | */ | 6 | */ |
6 | - use yii\helpers\Html; | 7 | + use artbox\core\models\Alias;use yii\helpers\Html; |
7 | use yii\widgets\ActiveForm; | 8 | use yii\widgets\ActiveForm; |
8 | - | 9 | + $seo = \Yii::$app->get('seo'); |
10 | + | ||
11 | + $seo->setAlias(new Alias([ | ||
12 | + 'title' => 'Підтримати книгу "'.$book->title.'"' | ||
13 | + ])); | ||
9 | ?> | 14 | ?> |
10 | <section class="section-books-support"> | 15 | <section class="section-books-support"> |
11 | <div class="container"> | 16 | <div class="container"> |