Blame view

common/modules/product/models/Brand.php 4.07 KB
85261b14   Karnovsky A   not fixed commite
1
2
3
4
5
6
7
8
9
10
11
12
  <?php
  
  namespace common\modules\product\models;
  
  use common\behaviors\Slug;
  use common\modules\rubrication\behaviors\ArtboxSynonymBehavior;
  use Yii;
  
  /**
   * This is the model class for table "brand".
   *
   * @property integer $brand_id
dc50f607   Karnovsky A   Some fixes
13
   * @property string $remote_id
85261b14   Karnovsky A   not fixed commite
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   * @property integer $brand_name_id
   * @property string $alias
   * @property string $image
   * @property string $meta_title
   * @property string $meta_desc
   * @property string $meta_robots
   * @property string $seo_text
   *
   * @property BrandName $brandName
   * @property BrandName[] $brandNames
   * @property Product[] $products
   */
  class Brand extends \yii\db\ActiveRecord
  {
550f051a   Karnovsky A   Karnovsky-0505201...
28
29
      public $imageUpload;
  
85261b14   Karnovsky A   not fixed commite
30
31
32
      public function behaviors()
      {
          return [
85261b14   Karnovsky A   not fixed commite
33
34
35
36
37
38
39
              'artboxsynonym' => [
                  'class' => ArtboxSynonymBehavior::className(),
                  'keyNameValue' => 'brand_name_id',
                  'valueModel' => BrandName::className(),
                  'valueOptionId' => 'brand_id',
                  'valueFields' => [ // postKey => DBFieldName
                      'name' => 'value'
0b8441f2   Karnovsky A   Karnovsky-02052016
40
41
42
43
44
                  ],
                  'slug' => [
                      'valueKeyName' => 'value',
                      'slugKeyName' => 'alias',
                      'translit' => true
e2128676   Karnovsky A   Karnovsky 0505201...
45
                  ],
55b984ad   Karnovsky A   ---
46
47
48
49
50
51
52
                  'image' => [
                      'class' => UploadBehavior::className(),
                      'attribute' => 'file',
                      'scenarios' => ['insert', 'update'],
                      'path' => '@webroot/upload/docs/{category.id}',
                      'url' => '@web/upload/docs/{category.id}',
                  ],
0b8441f2   Karnovsky A   Karnovsky-02052016
53
              ],
85261b14   Karnovsky A   not fixed commite
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
          ];
      }
  
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
          return 'brand';
      }
  
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
f57bf6b7   Karnovsky A   Some fixes
71
              [['name'], 'string'],
85261b14   Karnovsky A   not fixed commite
72
73
74
75
76
              [['brand_name_id'], 'integer'],
              [['meta_desc', 'seo_text'], 'string'],
              [['alias', 'name'], 'string', 'max' => 250],
              [['image', 'meta_title'], 'string', 'max' => 255],
              [['meta_robots'], 'string', 'max' => 50],
dc50f607   Karnovsky A   Some fixes
77
              [['remote_id'], 'string', 'max' => 25],
550f051a   Karnovsky A   Karnovsky-0505201...
78
79
              [['imageUpload'], 'safe'],
              [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'],
85261b14   Karnovsky A   not fixed commite
80
81
82
83
84
85
86
87
88
89
  //            [['brand_name_id'], 'exist', 'skipOnError' => true, 'targetClass' => BrandName::className(), 'targetAttribute' => ['brand_name_id' => 'brand_name_id']],
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
f57bf6b7   Karnovsky A   Some fixes
90
              'name' => Yii::t('product', 'Name of the brand'),
85261b14   Karnovsky A   not fixed commite
91
92
93
94
              'brand_id' => Yii::t('product', 'Brand ID'),
              'brand_name_id' => Yii::t('product', 'Brand Name ID'),
              'alias' => Yii::t('product', 'Alias'),
              'image' => Yii::t('product', 'Image'),
550f051a   Karnovsky A   Karnovsky-0505201...
95
              'imageUrl' => Yii::t('product', 'Image'),
85261b14   Karnovsky A   not fixed commite
96
97
98
99
              'meta_title' => Yii::t('product', 'Meta Title'),
              'meta_desc' => Yii::t('product', 'Meta Desc'),
              'meta_robots' => Yii::t('product', 'Meta Robots'),
              'seo_text' => Yii::t('product', 'Seo Text'),
dc50f607   Karnovsky A   Some fixes
100
              'remote_id' => Yii::t('product', '1C brand name'),
85261b14   Karnovsky A   not fixed commite
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
          ];
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getBrandName()
      {
          return $this->hasOne(BrandName::className(), ['brand_name_id' => 'brand_name_id']);
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getBrandNames()
      {
          return $this->hasMany(BrandName::className(), ['brand_id' => 'brand_id']);
      }
  
      /**
       * @return \yii\db\ActiveQuery
       */
      public function getProducts()
      {
          return $this->hasMany(Product::className(), ['brand_id' => 'brand_id']);
      }
  
      public function getName() {
0b8441f2   Karnovsky A   Karnovsky-02052016
129
          return empty($this->brand_name_id) ? null : $this->brandName->value;
85261b14   Karnovsky A   not fixed commite
130
      }
550f051a   Karnovsky A   Karnovsky-0505201...
131
  
e2128676   Karnovsky A   Karnovsky 0505201...
132
      public function getImageFile() {
1f90c5f4   Karnovsky A   ArtboxImage resizer
133
          return empty($this->image) ? null : Yii::getAlias('@storage/brand/'. $this->image);
e2128676   Karnovsky A   Karnovsky 0505201...
134
135
      }
  
550f051a   Karnovsky A   Karnovsky-0505201...
136
      public function getImageUrl() {
1f90c5f4   Karnovsky A   ArtboxImage resizer
137
          return empty($this->image) ? null : '/storage/brand/'. $this->image;
550f051a   Karnovsky A   Karnovsky-0505201...
138
      }
85261b14   Karnovsky A   not fixed commite
139
  }