Blame view

common/models/Page.php 2.7 KB
4ca21c3e   Alexey Boroda   first 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  <?php
      
      namespace common\models;
      
      /**
       * This is the model class for table "page".
       * @property integer $id
       * @property string  $translit
       * @property string  $title
       * @property string  $body
       * @property string  $meta_title
       * @property string  $meta_keywords
       * @property string  $meta_description
       * @property string  $seo_text
       * @property string  $h1
       * @property bool    $in_menu
       */
      class Page extends \yii\db\ActiveRecord
      {
          
          /**
           * @inheritdoc
           */
          public static function tableName()
          {
              return 'page';
          }
          
          /**
           * @inheritdoc
           */
          public function behaviors()
          {
              return [
                  'slug' => [
                      'class'         => 'common\behaviors\Slug',
                      'in_attribute'  => 'title',
                      'out_attribute' => 'translit',
                      'translit'      => true,
                  ],
              ];
          }
          
          /**
           * @inheritdoc
           */
          public function rules()
          {
              return [
                  [
                      [
                          'body',
                          'seo_text',
                      ],
                      'string',
                  ],
                  [
                      [
                          'translit',
                          'title',
                          'meta_title',
                          'meta_keywords',
                          'meta_description',
                          'h1',
                      ],
                      'string',
                      'max' => 255,
                  ],
                  [
                      [
                          'in_menu',
                      ],
                      'boolean',
                  ],
              ];
          }
          
          public function getPageTranslit($page)
          {
              return self::find()
                         ->where([ 'translit' => $page ])
                         ->one();
              
          }
          
          /**
           * @inheritdoc
           */
          public function attributeLabels()
          {
              return [
                  'id'               => 'ID',
                  'translit'         => 'Translit',
                  'title'            => 'Title',
                  'body'             => 'Body',
                  'meta_title'       => 'Meta Title',
                  'meta_keywords'    => 'Meta Keywords',
                  'meta_description' => 'Meta Description',
                  'seo_text'         => 'Seo Text',
                  'h1'               => 'H1',
                  'in_menu'          => 'Show in menu',
              ];
          }
      }