как отобразить многоуровневое меню в CodeIgniter с помощью ветки

извините, я все еще новичок в CodeIgniter. Я хочу спросить, как отобразить многоуровневое меню в CodeIgniter, используя веточку
Я хочу, чтобы это понравилось
— Меню 1.1
— Меню 1.1.2
— меню 1.1.2.3
-Меню 1.2
—menu1.2.1
Я сделал сценарий многоуровневого меню, но не работает
источник
menu_controller.php

 function __construct ()
{

$this->load->model("blog/menu_model");
$menu = array();
$menu = $this->menu_model->get_by(array(
"hide" => 1,
"parent" => 0,
));
foreach($menus as $m => $submenu)
{
$submenu[$menu[$m]["id"]] = $ci->menu_model->get_by(array(
"hide" => 1,
"parent" => $menu[$m]["id"],
));
}
$ci->twig->set_variable("menu", $menu);
$ci->twig->set_variable("submenu", $submenu);

}

MY_Model.php

public function get_by($filter = array(), $limit = 0, $offset = 0, $sort = array(), $debug = 0) {
$this->db->from("menu");

if(!empty($filter)) {
$this->db->where($filter);
}

if(!empty($sort)) {
foreach($sort as $key => $value) {
$this->db->order_by($key, $value);
}
} elseif(!is_array($sort)) {
$this->session->set_flashdata("warning", "Pengurutan data pada database tidak valid !");
log_message("error", "Mode pengurutan data pada database tidak valid !");

return false;
}

if($limit > 0) {
$this->db->limit($limit, $offset);
}

if($debug) {
var_dump($this->db->_compile_select());
}

return $this->db->get()->result_array();
}

menu_view.php

<ul class = "main-menu">
{% For menus in menu%}
{% If menus.position == "mainmenu"%}
<li style = "background: # 264c84; color: # 264c84;"> <a href="{{ menus.muri menus.name }}"> {{}} {% if submenu [menus.id] | length> 0%} <span> & nbsp; </ span> {% endif%} </a>
{% If submenu [menus.id] | length> 0%}
<ul class = "sub-menu">
{% For the sub in the submenu [menus.id]%}
<li> <a href="{{ sub.muri sub.name }}"> {{}} </a> </ li>
{% Endfor%}
</ ul>
{% Endif%}
</ li>
{% Endif%}
{% Endfor%}
</ ul>

скриншот меню

Моя база данных

Многоуровневое меню 3 не может отображаться

0

Решение

PHP-код

function __construct()
{

$this->load->model("blog/menu_model ");
$menu = array();
$menu = $this->menu_model->get_by(array(
"hide" => 1,
"parent" => 0,
));
foreach ($menus as $m => $submenu)
{
$submenu [$menu [$m] ["id"]] = $ci->menu_model->get_by (array (
"hide" => 1,
"parent" => $menu [$m] ["id"],
));
$menu[$m]['submenu'] = $submenu;
}
$ci->twig->set_variable ("menu", $menu);

}

Twig Code

<ul class = "main-menu">
{% For menus in menu%}
{% If menus.position == "mainmenu"%}
<li>
<a href="{{ menus.muri menus.name }}"> {{}} {% if menu['submenu'] | length> 0 %} <span> & nbsp; </ span> {% endif%} </a>
{% If menu['submenu'] | length> 0%}
<ul class = "sub-menu">
{% For sub in  menu['submenu'] %}
<li> <a href="{{ sub.muri sub.name }}"> {{sub.name}} </a> </li>
{% Endfor %}
</ul>
{% Endif%}
</li>
{% Endif%}
{% Endfor%}
</ul>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]