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 | 62 | 'Send question' =>'Отправить вопрос', |
63 | 63 | 'Department' =>'отделение', |
64 | 64 | 'General issues' =>'Общие вопросы', |
65 | + 'General callbacks' => 'Общие отзывы', | |
65 | 66 | 'Give feedback' =>'Оставить отзыв', |
66 | 67 | 'Callbacks' =>'Отзывы', |
67 | 68 | 'Callback' =>'Обратная связь', | ... | ... |
frontend/views/layouts/main.php
... | ... | @@ -33,10 +33,7 @@ |
33 | 33 | use frontend\assets\MapAsset; |
34 | 34 | |
35 | 35 | |
36 | - | |
37 | - | |
38 | - | |
39 | - AppAsset::register($this); | |
36 | +AppAsset::register($this); | |
40 | 37 | SliderAsset::register($this); |
41 | 38 | MapAsset::register($this); |
42 | 39 | $user = \Yii::$app->user->identity; |
... | ... | @@ -71,6 +68,22 @@ |
71 | 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 | 89 | // Блок с микроразметкой для FB |
... | ... | @@ -116,11 +129,10 @@ $this->registerMetaTag( |
116 | 129 | 'content' =>$seo->title, |
117 | 130 | ] |
118 | 131 | ); |
119 | - | |
120 | 132 | $this->registerMetaTag( |
121 | 133 | [ |
122 | 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 | 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 | 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 | 201 | <title><?= Html::encode($seoTitleName); ?></title> |
206 | 202 | <?php $this->head() ?> | ... | ... |