0

我有一個關於Codeigniter 3的工作項目。現在我必須構建一個FAQ頁面,並且我有這個疑問:我需要每個URL的Controller嗎?codeigniter - 我需要每個URL的控制器嗎?

這是FAQ頁面是一個靜態頁面,但CodeIgniter通常將URL路由到控制器,如域/控制器/方法。但是構建一個Controller來加載視圖似乎是一種浪費。

+1

我建議你閱讀文檔並完成其中的教程。這個練習將幫助你更好地理解基本概念。每個URL都需要去某個地方,或者它是一個Controller函數或路由到一個Controller函數。如果你只是想加載一個視圖,然後創建一個單一的通用控制器,根據請求的URL加載相應的視圖。沒有理由創建一堆控制器,除了加載不同的View以外,什麼都不做。 – Sparky

+1

https://www.codeigniter.com/user_guide/index.html#general-topics – user4419336

+1

你有解決這個問題嗎? –

回答

1

不,這是不正確的方式來爲每個頁面製作控制器。通過從數據庫中提取數據來創建一個顯示頁面的函數。

  1. 首先在數據庫中創建一個名爲pages的表格,然後爲您的不同頁面保存page_content,page_name,permalink。

  2. 現在假設您的默認控制器是home,請在其中使用名稱頁在其中創建一個函數,如下所示。

     function pages($permalink) 
         { 
          // get page data based on page_name passed in URL 
          $this->db->where(array('permalink' => $permalink)); 
          $data['page'] = $this->db->get('pages')->result(); 
    
          // load view and pass page object to view 
          $this->load->view('view_file', $data); 
         } 
    
  3. 現在,相同的函數將顯示基於URL中傳遞的永久鏈接的不同頁面內容。

  4. 例如,如果URL是www.example.com/index.php/home/pages/faq,則會顯示faq頁面的內容。
相關問題