Blame view

frontend/components/HreflangWidget.php 1.2 KB
4253cbec   root   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
  <?php
  namespace frontend\components;
  
  use Yii;
  use yii\base\Widget;
  use yii\helpers\Html;
  use yii\helpers\Url;
  use yii\helpers\ArrayHelper;
  
  
  class HreflangWidget extends Widget{
      public $bg;
  
      public function init(){
          parent::init();
      }
  
      public function translateCurrentRequest($language)
      {
          $params = ArrayHelper::merge(
              ['/' . ltrim(Yii::$app->requestedRoute, '/')],
              Yii::$app->request->getQueryParams(),
              [
                  'language' => $language,
              ]
          );
          return Url::to($params);
      }
  
      public function run(){
          //$lang = (Yii::$app->language=='ru') ? 'en' : 'ru';
          $result = '';
          foreach (Yii::$app->urlManager->languages as $language) {
              if ($language === Yii::$app->language) {
                  // skip current language
                  continue;
              }
  
              $result.= Html::tag(
                  'link',
                  '',
                  [
                      'rel' => 'alternate',
                      'hreflang' => $language,
                      'href' => $this->translateCurrentRequest($language),
                  ]
              );
          }
          return $result;
      }
  }
  ?>