2013-04-05 70 views
0

我有以下文件:笨 - 靜態頁面教程不起作用

routes.php文件

$route['default_controller'] = "first"; 
$route['404_override'] = ''; 
$route['page/(:any)'] = 'page/view/$1'; 

page.php文件

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Page extends CI_Controller { 

    public function index() {  
     $this->load->view('first'); 
    } 

    public function view($page = 'first') { 

     if (! file_exists('application/views/pages/'.$page.'.php')) 
      // Whoops, we don't have a page for that! 
      show_404() 
     } 
     $this->load->view('pages/'.$page); 
    } 
} 
?> 

impressum.php(在視圖/頁/impressum.php)

<p>Hello</p> 

Now當我加載http://xxxx.de/page/impressum它顯示我只是一個空白頁。當我加載www.xxxx.de時,它會顯示「第一個」頁面/默認頁面。
當我嘗試加載時,它甚至沒有加載「第一」頁面:www.xxx.de/page/

只是不知道我在哪裏有錯誤/錯誤。

我的文件夾結構是:
http://d.pr/i/vYgw

的幫助實在是讚賞。謝謝。

+0

您有/views/pages/first.php視圖嗎?嘗試添加模具('here');只是在視圖方法的開始,看看它是否去那裏... – Goran 2013-04-05 15:08:34

+0

創建它,添加了行,沒有任何發生。就像它沒有加載。 – Marek123 2013-04-05 15:32:27

回答

1

你需要檢查在視圖控制器的方法$頁面爲您傳遞任何你route.php文件

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

www.xxx.de/page/將傳遞一個空字符串或變量觀點方法,你可以檢查它像

if(!strlen($page)){ 
    $page = "first"; 
} 

更好的方式來使用URI類來獲得頁面

public function view() { 
     $page = $this->uri->segment(2, 'first'); 

     if (! file_exists('application/views/pages/'.$page.'.php')){ 
      // Whoops, we don't have a page for that! 
      show_404() 
     } 
     $this->load->view('pages/'.$page); 
    } 

如果沒有任何細分受衆羣會首先通過

+0

或者只是將斜線移動到:any語句 - 頁面(/:any) – 2013-04-05 16:06:00

+0

好吧,我管理它。 a}在班上失蹤了。對不起大家。該類的結束標記不在那裏。 但現在我有另一個問題。由於新頁面位於第二個文件夾(pages /)中,因此如何管理視圖中我的資產文件夾(css,js等)的路徑? – Marek123 2013-04-05 22:06:23

+0

對不起...我認爲它的工作,但..不。我仍然不知道爲什麼。 – Marek123 2013-04-05 22:47:02