iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0

今天我們要講解如何載入靜態網站,有時我們會遇到不太需要讀取資料庫的內容,比如隱私權頁面、服務條款頁面等等,這時我們可以透過檔案名稱直接讀取所需要的資料夾,至於該怎麼做,我們繼續看下去。

設定靜態頁面

首先我們打開controllers/Welcome.phpconfig/routes.php
VSCode

下一步我們針對routes.php加入路徑:

$route['(:any)'] = 'welcome/view/$1';

設定Route

前方的(:any)代表任何字元,後方連動到$1,另外我們放到最下方,error的上方代表當上面沒有路徑時最後選擇才會選擇下面,也就是說上面任何路徑會導入到Welcome.phpfunction view裡面並且夾帶參數,例如function view($page){}

接著我們在Welcome.php加入新的函式:

  ...
  
  function view($page = 'index') {
	  if (!file_exists('application/views/pages/'.$page.'.php')) {
	    show_404();
      }
  
	  $pageInfo['title'] = ucfirst($page); // 第一個字母大寫
  
	  $this->load->view('pages/'.$page, $pageInfo);
  }

上面view代表後方傳送進來得值,預設載入index,接著下面的if主要確認views/pages裡面是否有網址上面的檔案,如果沒有就會顯示404錯誤頁面,接著我把們取到的值轉換成大寫當作標題來傳送,接著下面就是載入pages裡面的頁面。

接著我們對views新增一個pages的資料夾,接著在裡面新增一個test的檔案來做測試:
上傳測試

接著我們輸入網址測試http://ip-address/test,就會看到我們新建的測試畫面:
顯示畫面

未來只需要新增檔案丟到views/pages的資料夾,就不需要透過新建controller來顯示,至少在處理上會比較方便快速!

今天課程就到這,
明天我們就來講解GET/POST部分。

Next station ... 改造GET/POST


上一篇
[Day09] Config設定
下一篇
[Day11] 改造GET/POST
系列文
你說Codeigniter還能怎麼做?30

尚未有邦友留言

立即登入留言