Blame view

common/models/Page.php 2.7 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
44
45
46
47
      // ==== 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();
          }
  
          return isset ($this->data[$key]) ? $this->data[$key] : 'NO FIELD';
      }
      
      // ==== 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
79
80
81
82
83
84
  
      /**
       * @inheritdoc
       */
      public function rules()
      {
          return [
ab4d7cb1   andryeyev   Page + Языковая в...
85
              [['date_add', 'template_id', 'image_id', 'show'], 'required'],
b507d689   andryeyev   Итерация 1 (Терми...
86
              [['date_add'], 'safe'],
ab4d7cb1   andryeyev   Page + Языковая в...
87
              [['template_id', 'image_id', 'show'], 'integer']
b507d689   andryeyev   Итерация 1 (Терми...
88
89
90
91
92
93
94
95
96
          ];
      }
  
      /**
       * @inheritdoc
       */
      public function attributeLabels()
      {
          return [
ab4d7cb1   andryeyev   Page + Языковая в...
97
98
99
100
101
102
103
104
105
106
107
108
              '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 (Терми...
109
          ];
48269590   andryeyev   + Страница getDat...
110
111
112
113
114
115
116
      }
  /*    
      public function getPage()
      {
          return $this->hasMany(PageLang::className(), ['page_id' => 'page_id']);
      }
  */
ab4d7cb1   andryeyev   Page + Языковая в...
117
  }