Wróciłem niedawno z wakacyjnego wyjazdu i wypoczęty powróciłem do tego problemu. Przeczytałem link, który został tu podrzucony, ale jakoś nie znalazłem w nim tego czego szukam.
Rozszerzyłem model o dwie dodatkowe funkcje i chciałbym coś z nimi zrobić w kontrolerze, żeby pobierane były odpowiednie rekordy.
model
<?php defined('SYSPATH') or
die('No direct script access.'); class Admin_Menu_Model extends Model {
public function __construct()
{
parent::__construct();
}
public function menu_adm1()
{
return $this->db->select('id', 'tekst', 'url', 'kolejny_poziom')
->from('menu-adm-1')
->orderby(array('kolejnosc' => 'ASC')) ->get();
}
public function menu_adm2($id_menu_1)
{
return $this->db->select('id', 'tekst', 'url', 'kolejny_poziom')
->from('menu-adm-2')
->where(array('id_menu_1' => $id_menu_1)) ->orderby(array('kolejnosc' => 'ASC')) ->get();
}
public function menu_adm3($id_menu_2)
{
return $this->db->select('id', 'tekst', 'url')
->from('menu-adm-3')
->where(array('id_menu_2' => $id_menu_2)) ->orderby(array('kolejnosc' => 'ASC')) ->get();
}
}
?>
widok - fragment
<ul id="nav">
<?php foreach($menu1 as $m1): ?>
<li>
<a href="
<?php echo url
::base().$m1->url;?>">
<?php echo $m1->tekst;?></a>
<?php if($m1->kolejny_poziom == "TAK") : ?>
<ul>
<?php foreach($menu2 as $m2): ?>
<li>
<a href="
<?php echo url
::base().$m2->url;?>">
<?php echo $m2->tekst;?></a>
<?php if($m2->kolejny_poziom == "TAK") : ?>
<ul>
<?php foreach($menu3 as $m3): ?>
<li>
<a href="
<?php echo url
::base().$m3->url;?>">
<?php echo $m3->tekst;?></a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
kontroler
<?php defined('SYSPATH') OR
die('No direct access allowed.'); class Glowna_Controller extends Controller {
public function index()
{
$view = new View('layout/adm');
$view->author = Kohana::config('settings.author');
$view->charset = Kohana::config('settings.charset');
$view->copyright = Kohana::config('settings.copyright');
$menu = new Admin_Menu_Model;
$view->menu1 = $menu->menu_adm1();
$view->menu2 = $menu->menu_adm2('2');
$view->menu3 = $menu->menu_adm3('2');
$view->content = new View('adm/glowna');
$view->render(true);
}
}
?>
Mógłby ktoś mi pomóc rozwiązać ten dla wielu z was banalny problem