MenuTree.php
1.27 KB
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
<?php
namespace common\models;
use backend\models\Menu;
use yii\helpers\Url;
class MenuTree extends Menu
{
var $mass = array ();
public function build ($location_name)
{
if ($this->mass = parent::getMenuList ($location_name))
{
return $this->getMenuRecrusive (0);
}
}
public function findChild ($id)
{
$mass = array ();
foreach ($this->mass as $row)
{
if ($row['menu_pid'] == $id)
{
$mass[] = $row;
}
}
return $mass;
}
public function getMenuRecrusive ($menu_id)
{
$items = $this->findChild($menu_id);
if (! empty ($items))
{
$result = [];
foreach ($items as $row)
{
$result[] = [
'label' => $row['termin_title'],
'url' => ['/'.$row['termin_alias']],
//'url' => [$row['template_file']],
//'url' => Url::toRoute($row['template_file']),
'items' => $this->getMenuRecrusive($row['menu_id']),
'<li class="divider"></li>',
];
}
return $result;
}
}
}