Blame view

common/models/Page.php 3.3 KB
b507d689   andryeyev   Итерация 1 (Терми...
1
2
3
4
5
  <?php
  
  namespace common\models;
  
  use Yii;
ab4d7cb1   andryeyev   Page + Языковая в...
6
  use common\models\PageLang;
b507d689   andryeyev   Итерация 1 (Терми...
7
8
9
10
11
12
  
  /**
   * This is the model class for table "page".
   *
   * @property integer $page_id
   * @property string $date_add
ab4d7cb1   andryeyev   Page + Языковая в...
13
   * @property integer $template_id
b507d689   andryeyev   Итерация 1 (Терми...
14
15
16
17
18
   * @property integer $image_id
   * @property integer $show
   */
  class Page extends \yii\db\ActiveRecord
  {
48269590   andryeyev   + Страница getDat...
19
20
      var $data;
  
ab4d7cb1   andryeyev   Page + Языковая в...
21
      //public $title;
b507d689   andryeyev   Итерация 1 (Терми...
22
23
24
25
26
27
28
      /**
       * @inheritdoc
       */
      public static function tableName()
      {
          return 'page';
      }
ab4d7cb1   andryeyev   Page + Языковая в...
29
      
48269590   andryeyev   + Страница getDat...
30
31
32
33
34
35
36
37
38
39
40
41
42
43
      // ==== DATA PAGE LANG  ====
      
      public function getData()
      {
          $this->data = PageLang::find()->where(['page_id' => $this->page_id, 'lang_id' => 1])->one();
      }
      
      public function getDataByKey($key)
      {
          if (! $this->data)
          {
              $this->getData();
          }
  
583ea05f   andryeyev   + widget-select2
44
          return isset ($this->data[$key]) ? $this->data[$key] : '';
48269590   andryeyev   + Страница getDat...
45
46
47
      }
      
      // ==== DATA PAGE LANG FIELD ====
ab4d7cb1   andryeyev   Page + Языковая в...
48
49
50
51
52
53
54
55
      
      public function getExtraField($key)
      {
          return PageLang::find()->where(['page_id' => $this->page_id, 'lang_id' => 1])->one()->$key; 
      }
  
      public function getTitle()
      {
48269590   andryeyev   + Страница getDat...
56
          return $this->getDataByKey('title');
ab4d7cb1   andryeyev   Page + Языковая в...
57
58
59
60
      }
  
      public function getMeta_title()
      { 
48269590   andryeyev   + Страница getDat...
61
          return $this->getDataByKey('meta_title');
ab4d7cb1   andryeyev   Page + Языковая в...
62
63
64
65
      } 
  
      public function getMeta_description()
      {
48269590   andryeyev   + Страница getDat...
66
          return $this->getDataByKey('meta_description');
ab4d7cb1   andryeyev   Page + Языковая в...
67
68
69
70
      }
  
      public function getText()
      {
48269590   andryeyev   + Страница getDat...
71
          return $this->getDataByKey('text');
ab4d7cb1   andryeyev   Page + Языковая в...
72
73
74
75
      }
  
      public function getPage_alias()
      {
48269590   andryeyev   + Страница getDat...
76
          return $this->getDataByKey('page_alias');
ab4d7cb1   andryeyev   Page + Языковая в...
77
      }
b507d689   andryeyev   Итерация 1 (Терми...
78
  
583ea05f   andryeyev   + widget-select2
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
      // ==== PAGE LANG FILTER FIELD ====
      
      public function findPageLangField($post)
      {
          if (! $this->data)
          {
              $this->getData();
          }
          
          if (empty ($this->data) || empty ($post))
          {
              return false;
          }
          
          $result = array ();
          
          foreach ($post as $key1 => $row1)
          {
              foreach ($this->data as $key2 => $row2)
              {
                  if ($key1 == $key2)
                  {
                      $result[$key1] = $row1;
                  }
              } 
          }
          
          return $result;
      }
  
b507d689   andryeyev   Итерация 1 (Терми...
109
110
111
112
113
114
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
ab4d7cb1   andryeyev   Page + Языковая в...
115
              [['date_add', 'template_id', 'image_id', 'show'], 'required'],
b507d689   andryeyev   Итерация 1 (Терми...
116
              [['date_add'], 'safe'],
ab4d7cb1   andryeyev   Page + Языковая в...
117
              [['template_id', 'image_id', 'show'], 'integer']
b507d689   andryeyev   Итерация 1 (Терми...
118
119
120
121
122
123
124
125
126
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
ab4d7cb1   andryeyev   Page + Языковая в...
127
128
129
130
131
132
133
134
135
136
137
138
              'page_id'       => Yii::t('field', 'page'),
              'date_add'      => Yii::t('field', 'date_add'),
              'template_id'   => Yii::t('field', 'template'),
              'image_id'      => Yii::t('field', 'image'),
              'show'          => Yii::t('field', 'show'),
                   
              'title'             => Yii::t('field', 'title'),
              'meta_title'        => Yii::t('field', 'meta_title'),
              'meta_description'  => Yii::t('field', 'meta_description'),
              'text'              => Yii::t('field', 'text'),
              'page_alias'        => Yii::t('field', 'page_alias'),
              'lang_id'           => Yii::t('field', 'lang_id'),
b507d689   andryeyev   Итерация 1 (Терми...
139
          ];
48269590   andryeyev   + Страница getDat...
140
141
142
143
144
145
146
      }
  /*    
      public function getPage()
      {
          return $this->hasMany(PageLang::className(), ['page_id' => 'page_id']);
      }
  */
ab4d7cb1   andryeyev   Page + Языковая в...
147
  }