2013-11-24 158 views
0

我建立它包含從數據庫例如動態菜單,笨

Home  + Product 
      - Ham 
      - Sausage 
      - etc 
      - etc 


--------Database Schema------ 
+----+-------------------------+------+ 
| id | name     | show | 
+----+-------------------------+------+ 
| 1 | ham      | 1 | 
| 2 | sausages    | 1 | 
+----+-------------------------+------+ 

拉出的類別,這是我的分類控制器

​​

導航菜單----- ------- views/header.php頁面(代碼如下所示)

<ul> 
    <?php foreach($categories as $item): ?> 
    <li><a href="categories/get/<?php echo $item->id;?>"><?php echo $item->name;?></a></li> 
    <?php endforeach; ?> 
</ul> 

-----------問題是 當我選擇從例如火腿菜單類別,我看到的網址是這樣

127.0.0.1/cms/categories/get/1類別頁面

這一點,當我點擊例如火腿我將轉移到這個網址

127.0.0.1/cms/categories/get/1

但是當我將鼠標懸停在菜單中我看到這個

127.0.0.1/cms/categories/get/categories/get/1這裏與導航菜單

你看你們,控制器即{}類別以及哪些是行動{問題得到} 每個控制器和動作重複兩次,

我的問題 1 - 我在做什麼錯在這裏 -

2-如何通過整個應用程序正確地共享這個動態菜單,我應該在哪裏放這段代碼。並且也請記住這個菜單將從數據庫中創建

感謝你在先進

回答

0

這麼多,你只需要修復的觀點

<ul> 
    <?php foreach($categories as $item): ?> 
    <li><a href="<?php echo base_url();?>categories/get/<?php echo $item->id;?>"><?php echo $item->name;?></a></li> 
    <?php endforeach; ?> 
</ul> 

對於視圖中正確加載它..我建議,你在你的視圖文件夾中創建一個文件調用模板,讓我們把它的template.php

public function index() 
    { 
     // 1. pulling data from db assigned to $data 
     $data['categories'] = $this->category->get_categories(); 

     $data['page_name'] = 'WHATEVER_PAGE_NAME_YOU_HAVE'; 

     // send it to the template instead.... 
     $this->load->view('template',$data); 
    } 

模板文件

<html> 
    <head></head> 
    <body> 
     $this->load->view('header'); 

     $this->load->view($data['page_name']); 

     $this->load->view('footer'); 
    </body> 
</html> 

header.php文件將是這樣的....

 <div>HEADER CONTENT </div> 

WHATEVER_PAGE_NAME_YOU_HAVE.PHP文件將是這樣的....

<h1>TESTING</h1> 

FOOTER.PHP文件將被像這樣....

 <div>Footer CONTENT </div> 

爲了使它更容易管理,創建庫並調用它在每個類的構造器中,或者你可以自動加載它。一旦它被加載,你可以調用函數並獲取你的數據。讓我知道你是否需要一個例子?或者你可以閱讀http://ellislab.com/codeigniter%20/user-guide/general/creating_libraries.html 希望它幫助...

+0

感謝賽義德的幫助,讓我試試....希望工程.. –

+0

它完美.... –

0

我爲這個動態菜單做了一個小型庫。如果有人仍然在尋找這個答案,希望對他們有所幫助。

您可以從Github獲取所有代碼。

https://github.com/hassann201/Egenius_Dynamic_Menu 

感謝