Blame view

common/modules/blog/views/article/_form.php 8.82 KB
4921cad4   Yarik   Добален блог v 0....
1
2
  <?php
  use common\modules\blog\models\ArticleCategory;
6506d20d   Yarik   Коммит 25.15.2015...
3
  use common\modules\blog\models\ArticleMedia;
498b0133   Yarik   Добавлен виджет м...
4
  use common\widgets\Multilang;
e3105834   Yarik   Стандартизация
5
6
      use common\widgets\Multilanguage;
      use yii\bootstrap\ActiveForm;
4921cad4   Yarik   Добален блог v 0....
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  use common\modules\blog\models\Article;
  use yii\bootstrap\Html;
  use mihaildev\ckeditor\CKEditor;
  use yii\helpers\Json;
  use yii\helpers\Url;
  use yii\widgets\Pjax;
  
  $def_lang = array_keys($langs)[0];
  $uploaddir = \Yii::getAlias('@saveImageDir');
  ?>
  <div class="article-form">
  
      <?php $form = \yii\bootstrap\ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?>
  
          <?= $form->field($article, 'code')->hint(Yii::t('app', 'Insensitive latin non-space'))->textInput() ?>
  
e3105834   Yarik   Стандартизация
23
          <?= $form->field($article, 'tag')->hint(Yii::t('app', 'Comma-separated'))->textInput() ?>
4921cad4   Yarik   Добален блог v 0....
24
25
26
  
          <?= $form->field($article, 'sort')->input('number') ?>
  
e3105834   Yarik   Стандартизация
27
28
          <?= $form->field($article, 'article_pid')
                      ->dropDownList(Article::findArticleDropdown($article->article_id), ['prompt' => Yii::t('app', 'Select parent')]) ?>
4921cad4   Yarik   Добален блог v 0....
29
30
31
32
  
          <?= $form->field($article, 'articleCategoriesArray')
                      ->dropDownList(ArticleCategory::findArticleCategoryDropdown(NULL), ['multiple' => 'multiple'])->label(\Yii::t('app', 'Article Categories Array')); ?>
  
e3105834   Yarik   Стандартизация
33
          <?= $form->field($article, 'status')->checkbox() ?>
4921cad4   Yarik   Добален блог v 0....
34
35
  
          <ul class="nav nav-tabs" id="image-tabs" role="tablist">
6506d20d   Yarik   Коммит 25.15.2015...
36
37
38
              <li role="image_inputs" class="active" data-type="full"><a href="#image-full" aria-controls="image-full" role="tab" data-toggle="tab"><span><?= \Yii::t('app', 'full')?></span></a></li>
              <li role="image_inputs" class="" data-type="preview"><a href="#image-preview" aria-controls="image-preview" role="tab" data-toggle="tab"><span><?= \Yii::t('app', 'preview')?></span></a></li>
              <li role="image_inputs" class="" data-type="additional"><a href="#image-additional" aria-controls="image-additional" role="tab" data-toggle="tab"><span><?= \Yii::t('app', 'additional')?></span></a></li>
4921cad4   Yarik   Добален блог v 0....
39
40
          </ul>
          <div class="tab-content image-tab-content">
6506d20d   Yarik   Коммит 25.15.2015...
41
42
43
44
45
              <div role="" class="tab-pane active main-tab" id="image-full">
                  <?php
                  $imagelang = Multilang::begin([
                      'ajaxpath' => Url::to(['/blog/ajax/article-media-form?type=full']),
                      'form' => $form,
e3105834   Yarik   Стандартизация
46
                      'data_langs' => $article->getIsNewRecord()?$images:ArticleMedia::find()->where(['article_id' => $article->article_id, 'type' => 'full'])->indexBy('language_id')->all()
6506d20d   Yarik   Коммит 25.15.2015...
47
48
49
50
51
52
53
                  ]);
                  $first = 1;
                  foreach($images as $lang => $value) {
                      if(!array_key_exists('full', $value)) continue;
                      ?>
                      <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$imagelang->id?>-<?=$lang?>">
                          <?php
e3105834   Yarik   Стандартизация
54
                          echo $form->field($images[$lang]['full'], "[{$lang}][full]language_id")->label(false)->hiddenInput(['value' => $lang]);
6506d20d   Yarik   Коммит 25.15.2015...
55
                          echo $form->field($images[$lang]['full'], "[{$lang}][full]imageFile")->fileInput(['class' => 'image_inputs_field']);
e3105834   Yarik   Стандартизация
56
                          if(!empty($images[$lang]['full']->article_media_id)) {
6506d20d   Yarik   Коммит 25.15.2015...
57
58
59
60
61
62
63
64
                              echo "<img src='/images/upload/{$images[$lang]['full']->media->hash}/original.{$images[$lang]['full']->media->extension}' width='100' class='image_inputs_prev'>";
                          }
                          ?>
                      </div>
                  <?php
                      $first = 0;
                  }
                  $imagelang->end();
4921cad4   Yarik   Добален блог v 0....
65
                  ?>
6506d20d   Yarik   Коммит 25.15.2015...
66
67
68
69
70
71
              </div>
              <div role="" class="tab-pane" id="image-preview">
                  <?php
                  $imagelang = Multilang::begin([
                      'ajaxpath' => Url::to(['/blog/ajax/article-media-form?type=preview']),
                      'form' => $form,
e3105834   Yarik   Стандартизация
72
                      'data_langs' => $article->getIsNewRecord()?$images:ArticleMedia::find()->where(['article_id' => $article->article_id, 'type' => 'preview'])->indexBy('language_id')->all()
6506d20d   Yarik   Коммит 25.15.2015...
73
74
75
76
77
78
79
                  ]);
                  $first = 1;
                  foreach($images as $lang => $value) {
                      if(!array_key_exists('preview', $value)) continue;
                      ?>
                      <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$imagelang->id?>-<?=$lang?>">
                          <?php
e3105834   Yarik   Стандартизация
80
                          echo $form->field($images[$lang]['preview'], "[{$lang}][preview]language_id")->label(false)->hiddenInput(['value' => $lang]);
6506d20d   Yarik   Коммит 25.15.2015...
81
                          echo $form->field($images[$lang]['preview'], "[{$lang}][preview]imageFile")->fileInput(['class' => 'image_inputs_field']);
e3105834   Yarik   Стандартизация
82
                          if(!empty($images[$lang]['preview']->article_media_id)) {
6506d20d   Yarik   Коммит 25.15.2015...
83
                              echo "<img src='/images/upload/{$images[$lang]['preview']->media->hash}/original.{$images[$lang]['preview']->media->extension}' width='100' class='image_inputs_prev'>";
4921cad4   Yarik   Добален блог v 0....
84
                          }
6506d20d   Yarik   Коммит 25.15.2015...
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
                          ?>
                      </div>
                      <?php
                      $first = 0;
                  }
                  $imagelang->end();
                  ?>
              </div>
              <div role="" class="tab-pane" id="image-additional">
                  <?php
                  echo $form->field(is_array($images[0]['additional'])?$images[0]['additional'][0]:$images[0]['additional'], "[0][additional]imageFile[]")->fileInput(['multiple' => 'multiple', 'class' => 'image_inputs_field']);
                  if(is_array($images[0]['additional']) && count($images[0]['additional']) > 1) {
                      foreach($images[0]['additional'] as $onefield => $oneimage) {
                          if($onefield) {
                              ?>
                              <div class="additional_image_container">
                                  <img src='/images/upload/<?= $oneimage->media->hash ?>/original.<?= $oneimage->media->extension ?>' width='100'>
                                  <a
                                      href="<?= Url::to(['ajax/remove-image']) ?>"
                                      class="remove_image glyphicon glyphicon-remove-circle"
e3105834   Yarik   Стандартизация
105
                                      data-params='<?= Json::encode(['article_media_id' => $oneimage->article_media_id, 'remove_media' => true]) ?>',
6506d20d   Yarik   Коммит 25.15.2015...
106
107
108
                                  ></a>
                              </div>
                              <?php
4921cad4   Yarik   Добален блог v 0....
109
110
                          }
                      }
6506d20d   Yarik   Коммит 25.15.2015...
111
112
113
                  }
                  ?>
              </div>
4921cad4   Yarik   Добален блог v 0....
114
115
116
117
          </div>
  
          <hr>
  
498b0133   Yarik   Добавлен виджет м...
118
          <?php
e3105834   Yarik   Стандартизация
119
120
121
122
123
124
              echo Multilanguage::widget([
                  'data' => $article_langs,
                  'form' => $form,
                  'ajaxView' => '@common/modules/blog/views/ajax/_article_form',
              ]);
              /*
498b0133   Yarik   Добавлен виджет м...
125
126
          $multilang = Multilang::begin(['ajaxpath' => Url::to(['/blog/ajax/article-form']), 'form' => $form, 'data_langs' => $article_langs]);
          ?>
4921cad4   Yarik   Добален блог v 0....
127
128
129
130
              <?php
              $first = 1;
              foreach($article_langs as $index => $article_lang) {
                  ?>
498b0133   Yarik   Добавлен виджет м...
131
132
                  <div role="" class="tab-pane <?php if($first) { echo 'active main-tab'; } ?>" id="<?=$multilang->id?>-<?=$index?>">
  
f1ea4c01   andryeyev   lang_id => langua...
133
                      <?= $form->field($article_langs[$index], "[$index]language_id")->label(false)->hiddenInput(['value' => $index]) ?>
4921cad4   Yarik   Добален блог v 0....
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
  
                      <?= $form->field($article_langs[$index], "[$index]text")->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ], ]); ?>
  
                      <?= $form->field($article_langs[$index], "[$index]preview")->widget(CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ], ]); ?>
  
                      <?= $form->field($article_langs[$index], "[$index]seo_url")->textInput() ?>
  
                      <?= $form->field($article_langs[$index], "[$index]name")->textInput() ?>
  
                      <?= $form->field($article_langs[$index], "[$index]meta_title")->textInput() ?>
  
                      <?= $form->field($article_langs[$index], "[$index]meta_descr")->textarea(); ?>
  
                      <?= $form->field($article_langs[$index], "[$index]meta_keywords")->textInput() ?>
  
                      <?= $form->field($article_langs[$index], "[$index]h1_tag")->textInput() ?>
  
                      <?= $form->field($article_langs[$index], "[$index]tags")->textInput() ?>
  
                  </div>
              <?php
                  $first = 0;
              }
              ?>
498b0133   Yarik   Добавлен виджет м...
158
159
          <?php
          $multilang->end();
e3105834   Yarik   Стандартизация
160
              */
498b0133   Yarik   Добавлен виджет м...
161
          ?>
4921cad4   Yarik   Добален блог v 0....
162
163
164
165
166
167
168
169
170
171
172
  
          <div class="form-group">
              <?= Html::submitButton($article->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $article->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
          </div>
  
      <?php ActiveForm::end(); ?>
  
  </div>
  <script>
      var confirm_message = '<?= \Yii::t('app', 'Remove image?') ?>';
  </script>