我生成使用函數從數據庫表中的菜單,我已經放在這個在擴展基礎控制器類:笨動態菜單/ MY_Controller問題
<?php
class MY_Controller extends Controller {
public function __construct()
{
parent::Controller();
}
public function category_menu()
{
$this->load->model('category_model', 'category');
$categories = $this->category->get_categories();
$menu ="<ul class=\"menu_body\" id=\"nav_categories\">\n";
foreach($categories->result() as $row)
{
$menu .= "\t<li>" . anchor('listing/view' . $row->url, $row->name) . "</li>\n";
}
$menu .= "</ul>\n";
return $menu;
}
}
那麼自然我的控制器看起來像〜
<?php
class Site extends MY_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$data['menu'] = $this->category_menu();
$this->load->view('view', $data);
}
}
這確實有效,但是對於〜每個〜頁面/視圖來說,這樣做似乎效率不高?
或者這僅僅是CI/MVC的限制,沒有其他的方法。
感謝您的任何洞察力
感謝關於不在控制器中追加字符串的提示。但是,這是否意味着我需要爲每個**「頁面」執行此操作。我很希望有一種自動填充$菜單視圖的方法。有點像'$ this-> category_menu();'直接在視圖中,所以當視圖被調用時,類別被填充。希望這有道理 – Ross 2010-09-16 22:01:18
有點實驗我想我已經破解了,謝謝。 – Ross 2010-09-16 22:23:48