4ca21c3e
Alexey Boroda
first commit
|
1
|
<?php
|
4d7ee438
Alexey Boroda
Changes:
|
2
3
4
5
6
7
8
9
10
|
namespace common\models;
use common\behaviors\SaveImgBehavior;
use Yii;
use yii\db\ActiveQuery;
use yii\db\ActiveRecord;
use common\models\BlogCategory;
|
4ca21c3e
Alexey Boroda
first commit
|
11
|
/**
|
4d7ee438
Alexey Boroda
Changes:
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
* This is the model class for table "blog".
* @property integer $id
* @property integer $date
* @property string $title
* @property string $body
* @property string $image
* @property string $translit
* @property string $meta_title
* @property string $meta_keywords
* @property string $meta_description
* @property string $seo_text
* @property string $h1
* @property string $body_preview
* @property integer $date_end
* @property array $categories
* @property array $categoryItems
|
4ca21c3e
Alexey Boroda
first commit
|
28
|
*/
|
4d7ee438
Alexey Boroda
Changes:
|
29
|
class Blog extends ActiveRecord
|
4ca21c3e
Alexey Boroda
first commit
|
30
|
{
|
4d7ee438
Alexey Boroda
Changes:
|
31
32
|
private $_categoryItems;
|
4d7ee438
Alexey Boroda
Changes:
|
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'blog';
}
/**
* @inheritdoc
*/
public function behaviors()
{
return [
'slug' => [
'class' => 'common\behaviors\Slug',
'in_attribute' => 'title',
'out_attribute' => 'translit',
'translit' => true,
],
[
'class' => SaveImgBehavior::className(),
|
b8a993f6
Alexey Boroda
-Image behavior a...
|
55
56
57
58
59
60
|
'fields' => [
[
'name' => 'image',
'directory' => 'blog',
],
],
|
4d7ee438
Alexey Boroda
Changes:
|
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
|
],
];
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[ 'date' ],
'default',
'value' => function() {
return time();
},
],
[
[
'date',
'date_end',
],
'safe',
],
[
[
'title',
'body',
],
'required',
],
[
[
'body',
'body_preview',
'seo_text',
],
'string',
],
[
[
'title',
|
4d7ee438
Alexey Boroda
Changes:
|
103
104
105
106
107
108
109
110
111
112
|
'translit',
'meta_title',
'meta_keywords',
'meta_description',
'h1',
],
'string',
'max' => 255,
],
[
|
4d7ee438
Alexey Boroda
Changes:
|
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
[
'date',
'date_end',
],
'filter',
'filter' => function($value) {
return strtotime($value) ? : time();
},
],
[
[
'categoryItems',
],
'safe',
],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
|
5a29abd6
Alexey Boroda
-Admin panel pret...
|
138
|
'date' => 'Дата публикации',
|
4d7ee438
Alexey Boroda
Changes:
|
139
|
'date_end' => 'Date end',
|
5a29abd6
Alexey Boroda
-Admin panel pret...
|
140
141
142
|
'title' => 'Название',
'body' => 'Текст',
'body_preview' => 'Текс (предпросмотр)',
|
4d7ee438
Alexey Boroda
Changes:
|
143
144
145
146
147
148
149
150
|
'image' => 'Image',
'imageUrl' => Yii::t('app', 'Image'),
'translit' => 'Translit',
'meta_title' => 'Meta Title',
'meta_keywords' => 'Meta Keywords',
'meta_description' => 'Meta Description',
'seo_text' => 'Seo Text',
'h1' => 'H1',
|
5a29abd6
Alexey Boroda
-Admin panel pret...
|
151
152
|
'imageUpload' => 'Картинка',
'categoryItems' => 'Категории',
|
4d7ee438
Alexey Boroda
Changes:
|
153
154
155
|
];
}
|
4d7ee438
Alexey Boroda
Changes:
|
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
/**
* @return ActiveQuery
*/
public function getCategories()
{
return $this->hasMany(BlogCategory::className(), [ 'id' => 'category_id' ])
->viaTable('blog_to_category', [ 'blog_id' => 'id' ]);
}
public function getCategoryItemsAsArray()
{
return BlogCategory::find()
->select('name')
->indexBy('id')
->asArray()
->column();
}
public function getCategoryItems()
{
return $this->_categoryItems;
}
public function setCategoryItems($items)
{
$this->_categoryItems = $items;
}
|
4ca21c3e
Alexey Boroda
first commit
|
183
|
}
|