0
我有一個關於Codeigniter 3的工作項目。現在我必須構建一個FAQ頁面,並且我有這個疑問:我需要每個URL的Controller嗎?codeigniter - 我需要每個URL的控制器嗎?
這是FAQ頁面是一個靜態頁面,但CodeIgniter通常將URL路由到控制器,如域/控制器/方法。但是構建一個Controller來加載視圖似乎是一種浪費。
我有一個關於Codeigniter 3的工作項目。現在我必須構建一個FAQ頁面,並且我有這個疑問:我需要每個URL的Controller嗎?codeigniter - 我需要每個URL的控制器嗎?
這是FAQ頁面是一個靜態頁面,但CodeIgniter通常將URL路由到控制器,如域/控制器/方法。但是構建一個Controller來加載視圖似乎是一種浪費。
不,這是不正確的方式來爲每個頁面製作控制器。通過從數據庫中提取數據來創建一個顯示頁面的函數。
首先在數據庫中創建一個名爲pages的表格,然後爲您的不同頁面保存page_content,page_name,permalink。
現在假設您的默認控制器是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);
}
現在,相同的函數將顯示基於URL中傳遞的永久鏈接的不同頁面內容。
我建議你閱讀文檔並完成其中的教程。這個練習將幫助你更好地理解基本概念。每個URL都需要去某個地方,或者它是一個Controller函數或路由到一個Controller函數。如果你只是想加載一個視圖,然後創建一個單一的通用控制器,根據請求的URL加載相應的視圖。沒有理由創建一堆控制器,除了加載不同的View以外,什麼都不做。 – Sparky
https://www.codeigniter.com/user_guide/index.html#general-topics – user4419336
你有解決這個問題嗎? –