Commit 261488eda33dbf039ae8266b9ebd7128140d4d79

Authored by alex
1 parent eb61f46f

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

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