Blame view

common/modules/product/helpers/ProductHelper.php 2.03 KB
a8370482   Alexander Karnovsky   init project
1
2
3
4
  <?php
  
  namespace common\modules\product\helpers;
  
b519af22   Karnovsky A   Base-product func...
5
6
  use common\modules\product\models\Brand;
  use common\modules\product\models\Category;
a8370482   Alexander Karnovsky   init project
7
8
9
  use yii\base\Object;
  
  class ProductHelper extends Object {
a8370482   Alexander Karnovsky   init project
10
      public static function getCategories() {
14eadb86   Karnovsky A   Eager loading for...
11
          return Category::find()->with('categoryName')->getTree();
a8370482   Alexander Karnovsky   init project
12
13
14
      }
  
      public static function getBrands() {
14eadb86   Karnovsky A   Eager loading for...
15
          return Brand::find()->with('brandName');
a8370482   Alexander Karnovsky   init project
16
      }
6fa713ca   Karnovsky A   Catalog v 1.2
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
  
      /*
       * Return custom filter-option link
       * @var array $filter
       * @var array $options
       * @return array
       */
      public static function getFilterForOption($filter, $key, $value, $remove = false) {
          $result = $filter;
          if (is_array($value)) {
              foreach($value as $value_key => $value_items) {
                  if (!is_array($value_items)) {
                      $value_items = [$value_items];
                  }
                  foreach($value_items as $value_item) {
                      if ($remove && isset($result[$key]) && ($i = array_search($value_item, $result[$key][$value_key])) !== FALSE) {
                          unset($result[$key][$value_key][$i]);
                          if (empty($result[$key][$value_key])) {
                              unset($result[$key][$value_key]);
                          }
                      } else {
                          if (!isset($result[$key][$value_key]) || array_search($value_item, $result[$key][$value_key]) === FALSE) {
                              $result[$key][$value_key][] = $value_item;
                          }
                      }
                  }
              }
          } else {
              if ($remove && isset($result[$key]) && ($i = array_search($value, $result[$key])) !== FALSE) {
                  unset($result[$key][$i]);
                  if (empty($result[$key])) {
                      unset($result[$key]);
                  }
              } else {
                  if (!isset($result[$key]) || array_search($value, $result[$key]) === FALSE) {
                      $result[$key][] = $value;
                  }
              }
          }
          return $result;
      }
a8370482   Alexander Karnovsky   init project
58
  }