Blame view

frontend/widgets/LangLinks.php 1.38 KB
bc9815fa   Anastasia   layout
1
2
3
4
5
6
7
8
9
10
  <?php
      /**
       * Created by PhpStorm.
       * User: stes
       * Date: 03.08.18
       * Time: 14:34
       */
      
      namespace frontend\widgets;
      
5385a565   Anastasia   lang link widget
11
      use yii\helpers\Html;
bc9815fa   Anastasia   layout
12
13
14
15
16
17
      use artbox\core\models\Language;
      use yii\jui\Widget;
      
      class LangLinks extends Widget
      {
          public $links;
5385a565   Anastasia   lang link widget
18
19
          
          public $mobile = false;
bc9815fa   Anastasia   layout
20
21
22
          public function init()
          {
              /**
5385a565   Anastasia   lang link widget
23
               * @var \frontend\components\LangComponent $langComponent ;
bc9815fa   Anastasia   layout
24
25
26
27
28
29
30
31
32
33
34
35
36
               */
              $langComponent = \Yii::$app->get('langLinks');
              
              $this->links = $langComponent->getLinks();
          }
          
          public function run()
          {
              $items = [];
              $langs = Language::getActive();
              
              foreach ($langs as $key => $item) {
                  if ($item->id == Language::getCurrent()->id) {
5385a565   Anastasia   lang link widget
37
                      $items[ $key ] = Html::tag('li', Html::a(($this->mobile ? $item->short : $item->name), '', ['class' => 'active']));
bc9815fa   Anastasia   layout
38
                  } else {
5385a565   Anastasia   lang link widget
39
                      $items[ $key ] = Html::tag('li', Html::a(($this->mobile ? $item->short : $item->name), $this->links[ $key ]));
bc9815fa   Anastasia   layout
40
                  }
5385a565   Anastasia   lang link widget
41
42
43
44
                  
              }
              if ($this->mobile){
                  return $this->render('links_mobile', [ 'links' => $items ]);
bc9815fa   Anastasia   layout
45
              }
bc9815fa   Anastasia   layout
46
47
48
              return $this->render('links', [ 'links' => $items ]);
          }
      }