b507d689
andryeyev
Итерация 1 (Терми...
|
1
2
3
4
5
|
<?php
namespace common\models;
use Yii;
|
0e2718b7
andryeyev
+ Рекурсивное мен...
|
6
|
|
b507d689
andryeyev
Итерация 1 (Терми...
|
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/**
* This is the model class for table "menu".
*
* @property integer $menu_id
* @property integer $menu_pid
* @property integer $menu_lft
* @property integer $menu_rgt
* @property integer $termin_id
* @property integer $show
* @property integer $sortorder
*/
class Menu extends \yii\db\ActiveRecord
|
0e2718b7
andryeyev
+ Рекурсивное мен...
|
20
|
{
|
bb7d15c5
andryeyev
Итерация 3 (Templ...
|
21
22
|
public function getMenuList ($location_name)
{
|
19423060
andryeyev
+ 1-уровневое мен...
|
23
24
|
return yii::$app->db->createCommand('
SELECT
|
bb7d15c5
andryeyev
Итерация 3 (Templ...
|
25
|
`menu`.menu_id, `menu`.menu_pid, `menu`.level,
|
0e2718b7
andryeyev
+ Рекурсивное мен...
|
26
27
|
`page_lang`.page_title, `page_lang`.page_alias,
`template`.template_file
|
19423060
andryeyev
+ 1-уровневое мен...
|
28
|
FROM `menu`
|
bb7d15c5
andryeyev
Итерация 3 (Templ...
|
29
30
31
32
33
|
INNER JOIN `menu_location` ON `menu_location`.menu_location_id = `menu`.menu_location_id
AND `menu_location`.menu_location_name = "'.$location_name.'"
INNER JOIN `page` ON `page`.page_id = `menu`.page_id
AND `page`.show = 1
INNER JOIN `page_lang` ON `page_lang`.page_id = `page`.page_id
|
0e2718b7
andryeyev
+ Рекурсивное мен...
|
34
35
|
AND `page_lang`.lang_id = '.yii::$app->lang_id.'
INNER JOIN `template` ON `template`.template_id = `page`.template_id
|
bb7d15c5
andryeyev
Итерация 3 (Templ...
|
36
|
WHERE `menu`.show = 1
|
11e2c9ec
andryeyev
fix Меню: Сортиро...
|
37
|
ORDER BY `menu`.level ASC, `menu`.sortorder ASC
|
19423060
andryeyev
+ 1-уровневое мен...
|
38
39
40
41
42
43
44
45
46
47
48
49
|
')->queryAll();
/*
return $this->find()
->selectOption('`termin_lang`.termin_title')
->from('menu')
->join(
'INNER JOIN',
'`termin_lang`.termin_id = `menu`.termin_id',
['lang_id' => yii::$app->lang_id])
->all();
*/
}
|
0e2718b7
andryeyev
+ Рекурсивное мен...
|
50
51
|
// ==== YII ====
|
19423060
andryeyev
+ 1-уровневое мен...
|
52
|
|
b507d689
andryeyev
Итерация 1 (Терми...
|
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
/**
* @inheritdoc
*/
public static function tableName()
{
return 'menu';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
|
7765bf97
Dmitryi
menu no perevod
|
67
|
[['menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'safe'],
|
b507d689
andryeyev
Итерация 1 (Терми...
|
68
69
70
71
72
73
74
75
76
77
|
[['menu_pid', 'menu_lft', 'menu_rgt', 'termin_id', 'show', 'sortorder'], 'integer']
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
|
7765bf97
Dmitryi
menu no perevod
|
78
79
80
81
82
83
84
|
'menu_id' => Yii::t('app', 'Menu ID'),
'menu_pid' => Yii::t('app', 'Menu Pid'),
'menu_lft' => Yii::t('app', 'Menu Lft'),
'menu_rgt' => Yii::t('app', 'Menu Rgt'),
'termin_id' => Yii::t('app', 'Termin ID'),
'show' => Yii::t('app', 'Show'),
'sortorder' => Yii::t('app', 'Sortorder'),
|
b507d689
andryeyev
Итерация 1 (Терми...
|
85
86
|
];
}
|
0e2718b7
andryeyev
+ Рекурсивное мен...
|
87
|
|
b507d689
andryeyev
Итерация 1 (Терми...
|
88
|
}
|