Blame view

common/modules/language/widgets/views/language_form_frame.php 2.4 KB
d55d2fe0   Yarik   Multilanguage
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  <?php
      use common\modules\language\models\Language;
      use yii\db\ActiveRecord;
      use yii\helpers\Html;
      use yii\web\View;
      use yii\widgets\ActiveForm;
      
      /**
       * @var Language[]   $languages
       * @var string       $form_view
       * @var ActiveRecord $model_langs
       * @var ActiveForm   $form
       * @var View         $this
       * @var string       $id_prefix
       */
  ?>
  <div>
      <?php
          if(count($languages) > 1) {
              ?>
              <ul class="nav nav-tabs text-uppercase">
                  <?php
                      $first = true;
                      foreach($model_langs as $lang => $model_lang) {
                          if(!array_key_exists($lang, $languages)) {
                              continue;
                          }
                          echo Html::tag('li', Html::a($languages[ $lang ]->url, [
                              '',
                              '#' => $id_prefix . '_' . $lang,
                          ], [ 'data-toggle' => 'tab' ]), [
                              'class' => $first ? 'active' : '',
                          ]);
                          $first = false;
                      }
                  ?>
              </ul>
              <div class="tab-content">
                  <?php
                      $first = true;
                      foreach($model_langs as $lang => $model_lang) {
                          if(!array_key_exists($lang, $languages)) {
                              continue;
                          }
                          echo Html::tag('div', $this->render($form_view, [
                              'model_lang' => $model_lang,
                              'language'   => $languages[ $lang ],
                              'form'       => $form,
                          ]), [
                              'class' => 'tab-pane' . ( $first ? ' active' : '' ),
                              'id'    => $id_prefix . '_' . $lang,
                          ]);
                          $first = false;
                      }
                  ?>
              </div>
              <?php
          } else {
              $language = current($languages);
              if(isset( $model_langs[ $language->language_id ] )) {
                  echo $this->render($form_view, [
                      'model_lang' => $model_langs[ $language->language_id ],
                      'language'   => $language,
                      'form'       => $form,
                  ]);
              }
          }
      ?>
  </div>