Blame view

backend/views/project/product-create.php 2.9 KB
cc658b4c   Yarik   Big 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
  <?php
      
      use common\models\ProductToProject;
      use common\models\Project;
      use common\modules\product\models\Product;
      use yii\helpers\Html;
      use yii\web\View;
      use yii\widgets\ActiveForm;
      
      /**
       * @var View             $this
       * @var Project          $project
       * @var Product[]        $products
       * @var ProductToProject $model
       * @var array            $variants
       */
      $this->title = 'Create product to project';
      $this->params[ 'breadcrumbs' ][] = [
          'label' => 'Products to project',
          'url'   => [
              'product',
              'id' => $project->project_id,
          ],
      ];
      $this->params[ 'breadcrumbs' ][] = $this->title;
  ?>
  <div class="articles-create">
      <h1><?= Html::encode($this->title) ?></h1>
      <?php
          $form = ActiveForm::begin();
          echo $form->field($model, 'product_id')
                    ->dropDownList($products, [ 'prompt' => 'Выберите коллекцию' ]);
      ?>
      <div class="<?php echo( !empty( $variants ) ? '' : 'hidden' ); ?> product_variant_container">
          <?php
              echo $form->field($model, 'product_variant_id')
                        ->dropDownList($variants, [ 'prompt' => 'Выберите товар' ]);
          ?>
      </div>
      <?php
          echo Html::submitInput(($model->isNewRecord?'Добавить':'Обновить'), [ 'class' => 'btn btn-success' ]);
          $form::end();
      ?>
  </div>
  <script>
      $(
          function()
          {
              $(document).on(
                  'change', '#producttoproject-product_id', function(e)
                  {
                      var value = parseInt($(this).val());
                      var dropDown = $('#producttoproject-product_variant_id');
                      var container = $(dropDown).parents('.product_variant_container');
                      $(dropDown).find('option[value!=""]').remove();
                      $(container).addClass('hidden');
                      if(value)
                      {
                          $.get(
                              '/admin/project/get-variants?product_id=' + value, function(data)
                              {
                                  if(data.length > 0)
                                  {
                                      $.each(
                                          data, function(key, value)
                                          {
                                              $(dropDown)
                                              .append('<option value="' + value.product_variant_id + '">' + value.name + '</option>');
                                          }
                                      );
                                      console.log('hiodde');
                                      $(container).removeClass('hidden');
                                  }
                              }
                          );
                      }
                  }
              );
          }
      );
  </script>