示例#1
0
 /**
  * Создание элементов дерева
  * @param  array    $elements
  * @param  string   $element_tpl
  * @param  int|null $parent_id
  *
  * @return string
  */
 protected function buildElements($elements, $element_tpl, $parent_id = null)
 {
     $tpl = new Mtpl();
     $tpl->setTemplate($element_tpl);
     foreach ($elements as $node) {
         if ($node['parent_id'] === $parent_id) {
             $tpl->assign('[URL]', $node['url']);
             $tpl->assign('[TITLE]', $node['title']);
             $tpl->assign('[ELEMENT_OPTIONS]', !empty($node['options']) ? json_encode($node['options']) : '');
             $sub_elements = $this->buildElements($elements, $element_tpl, $node['id']);
             $tpl->assign('[SUB_ELEMENTS]', $sub_elements !== $element_tpl ? '<ul>' . $sub_elements . '</ul>' : '');
             $tpl->reassign();
         }
     }
     return $tpl->render();
 }