Blame view

common/models/MenuTree.php 1.33 KB
14a09168   Alex Savenko   init 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
  <?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;

          }

  

      }

  }