Commit 261488eda33dbf039ae8266b9ebd7128140d4d79

Authored by alex
1 parent eb61f46f

Генерация мета тегов для отзывов, а так же изменен h1 в категориях отзывов

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() ?>