Commit 261488eda33dbf039ae8266b9ebd7128140d4d79
1 parent
eb61f46f
Генерация мета тегов для отзывов, а так же изменен h1 в категориях отзывов
Showing
2 changed files
with
19 additions
and
22 deletions
Show diff stats
common/messages/ru/app.php
@@ -62,6 +62,7 @@ return [ | @@ -62,6 +62,7 @@ return [ | ||
62 | 'Send question' =>'Отправить вопрос', | 62 | 'Send question' =>'Отправить вопрос', |
63 | 'Department' =>'отделение', | 63 | 'Department' =>'отделение', |
64 | 'General issues' =>'Общие вопросы', | 64 | 'General issues' =>'Общие вопросы', |
65 | + 'General callbacks' => 'Общие отзывы', | ||
65 | 'Give feedback' =>'Оставить отзыв', | 66 | 'Give feedback' =>'Оставить отзыв', |
66 | 'Callbacks' =>'Отзывы', | 67 | 'Callbacks' =>'Отзывы', |
67 | 'Callback' =>'Обратная связь', | 68 | 'Callback' =>'Обратная связь', |
frontend/views/layouts/main.php
@@ -33,10 +33,7 @@ | @@ -33,10 +33,7 @@ | ||
33 | use frontend\assets\MapAsset; | 33 | use frontend\assets\MapAsset; |
34 | 34 | ||
35 | 35 | ||
36 | - | ||
37 | - | ||
38 | - | ||
39 | - AppAsset::register($this); | 36 | +AppAsset::register($this); |
40 | SliderAsset::register($this); | 37 | SliderAsset::register($this); |
41 | MapAsset::register($this); | 38 | MapAsset::register($this); |
42 | $user = \Yii::$app->user->identity; | 39 | $user = \Yii::$app->user->identity; |
@@ -71,6 +68,22 @@ | @@ -71,6 +68,22 @@ | ||
71 | ->all(); | 68 | ->all(); |
72 | 69 | ||
73 | 70 | ||
71 | +# для автоматической генерации SEO параметров (title/description) в ситуациях, когда этих параметров нету | ||
72 | +# мне нужно будет автоматически их подгенеривать, поэтому вместо $seo->title, которые является readOnly я использую эту переменную | ||
73 | +$seoTitleName = $seo->title; | ||
74 | +if ($seo->title == '' | ||
75 | + && \Yii::$app->controller->id == 'site' | ||
76 | + && \Yii::$app->controller->action->id == 'comments' | ||
77 | +) { | ||
78 | + $currentServiceId = (!empty(\Yii::$app->request->get('service_id'))) ? \Yii::$app->request->get('service_id') : 0; | ||
79 | + $serviceModel = new Service(['id' => $currentServiceId]); | ||
80 | + if ($currentServiceId !== 0) { | ||
81 | + $serviceName = $serviceModel->language->title; | ||
82 | + $seoTitleName = $this->params['breadcrumbs'][0] . ' - ' . $serviceName . ' - ' . \Yii::t('app', 'ABC short reverse'); | ||
83 | + } else $seoTitleName = $this->params['breadcrumbs'][0] . ' - ' . \Yii::t('app', 'General callbacks') . ' - ' . \Yii::t('app', 'ABC short reverse'); | ||
84 | + | ||
85 | +} | ||
86 | + | ||
74 | 87 | ||
75 | //----------------------------------------------------------------------------------------------------------------------- | 88 | //----------------------------------------------------------------------------------------------------------------------- |
76 | // Блок с микроразметкой для FB | 89 | // Блок с микроразметкой для FB |
@@ -116,11 +129,10 @@ $this->registerMetaTag( | @@ -116,11 +129,10 @@ $this->registerMetaTag( | ||
116 | 'content' =>$seo->title, | 129 | 'content' =>$seo->title, |
117 | ] | 130 | ] |
118 | ); | 131 | ); |
119 | - | ||
120 | $this->registerMetaTag( | 132 | $this->registerMetaTag( |
121 | [ | 133 | [ |
122 | 'name' => 'description', | 134 | 'name' => 'description', |
123 | - 'content' => $seo->desc, | 135 | + 'content' => (\Yii::$app->controller->id == 'site' && \Yii::$app->controller->action->id == 'comments' && $seo->desc == null) ? $seoTitleName : $seo->desc, |
124 | ] | 136 | ] |
125 | ); | 137 | ); |
126 | 138 | ||
@@ -139,9 +151,6 @@ $this->registerMetaTag( | @@ -139,9 +151,6 @@ $this->registerMetaTag( | ||
139 | $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id":0}'])->indexBy('route')->andWhere(['language_id' => Language::getCurrent()->id])->asArray()->all(); | 151 | $commentUrl = Alias::find()->where(['route' => '{"0":"site/comments","service_id":0}'])->indexBy('route')->andWhere(['language_id' => Language::getCurrent()->id])->asArray()->all(); |
140 | 152 | ||
141 | 153 | ||
142 | -# для автоматической генерации SEO параметров (title/description) в ситуациях, когда этих параметров нету | ||
143 | -# мне нужно будет автоматически их подгенеривать, поэтому вместо $seo->title, которые является readOnly я использую эту переменную | ||
144 | -$seoTitleName = $seo->title; | ||
145 | 154 | ||
146 | 155 | ||
147 | ?> | 156 | ?> |
@@ -187,20 +196,7 @@ $seoTitleName = $seo->title; | @@ -187,20 +196,7 @@ $seoTitleName = $seo->title; | ||
187 | <?= Html::csrfMetaTags() ?> | 196 | <?= Html::csrfMetaTags() ?> |
188 | 197 | ||
189 | 198 | ||
190 | - <?php | ||
191 | - | ||
192 | - if ($seo->title == '' | ||
193 | - && \Yii::$app->controller->id == 'site' | ||
194 | - && \Yii::$app->controller->action->id == 'comments' | ||
195 | - ) { | ||
196 | - $serviceModel = new Service(['id' => $_GET['service_id']]); | ||
197 | - $serviceName = $serviceModel->language->title; | ||
198 | - $seoTitleName = $this->params['breadcrumbs'][0] . ' - ' . $serviceName . ' - ' . \Yii::t('app', 'ABC short reverse'); | ||
199 | - | ||
200 | - } | ||
201 | - | ||
202 | 199 | ||
203 | - ?> | ||
204 | 200 | ||
205 | <title><?= Html::encode($seoTitleName); ?></title> | 201 | <title><?= Html::encode($seoTitleName); ?></title> |
206 | <?php $this->head() ?> | 202 | <?php $this->head() ?> |