2011-10-16 109 views
0

我不知道如何做到這一點,因爲它沒有迴應我的HTML。它顯示螢火蟲div標籤,但沒有任何其他的後,它應該是索引頁(主頁)或我的404頁面。應該發生的是它應該找出它應該通過if語句加載哪個頁面視圖,然後在內容頁面中加載該視圖。不顯示查看頁面

控制器:

$siteInfo = $this->kow->getSiteTitleAndSlogan(); 
$activeTemplate = $this->kow->getTemplate(); 
if ($this->kow->pageStatus('index', $activeTemplate[0]->short_name) == 1){ 
    $page = $this->load->view($activeTemplate[0]->short_name.'/pages/index'); 
} else { 
    $page = $this->load->view($activeTemplate[0]->short_name.'/pages/404'); 
} 
$footerLinks = $this->kow->getFooterNav(); 
$this->template 
->title($siteInfo[0]->site_name,$siteInfo[0]->site_slogan) 
->prepend_metadata('<link rel="stylesheet" type="text/css" href="http://www.kansasoutlawwrestling.com/assets/css/'.$activeTemplate[0]->short_name.'.css" />') 
->set('footerLinks', $footerLinks) 
->set('page', $page)    
->set_partial('header', $activeTemplate[0]->short_name.'/header') 
->set_partial('navigation', $activeTemplate[0]->short_name.'/navigation')    
->set_partial('content', $activeTemplate[0]->short_name.'/content') 
->set_partial('footer', $activeTemplate[0]->short_name.'/footer') 
->build('kow'); 

if ($this->kow->pageStatus('index', $activeTemplate[0]->short_name) == 1){ 
     $page = $this->load->view($activeTemplate[0]->short_name.'/pages/index'); 
} else { 
     $page = $this->load->view($activeTemplate[0]->short_name.'/pages/404'); 
} 

查看:

<div id="content"> 
<?php 
echo $page; 
?> 
</div> 

編輯:我試圖做的是採取積極模版的id和字符串索引到pageStatus功能,並找出如果頁面的狀態值爲1.當我運行下面的print_r函數時,我得到:

Array ([0] => Array ([status_id] => 1)) 

Con troller

if ($this->kow->pageStatus('index', $activeTemplate[0]->id) == 1){ 
    $page = $this->load->view($activeTemplate[0]->short_name.'/pages/index', '', true); 
} else { 
    $page = $this->load->view($activeTemplate[0]->short_name.'/pages/404', '', true); 
} 
print_r($this->kow->pageStatus('index', $activeTemplate[0]->id)); 

編輯2:我還沒有得到正確的頁面查看。

+0

哪個視圖是代碼? –

+0

這是從內容視圖而不是索引視圖。 –

回答

1

您正在將錯誤地將index和404視圖加載到$page變量中。要存儲$this->load->view()呼叫的輸出,您必須包含true作爲第三個參數。

從CI用戶指南

返回看法數據

還有第三個可選參數可以改變函數的行爲,以便它返回的數據作爲一個字符串,而不是將其發送到瀏覽器。如果您想以某種方式處理數據,這可能很有用。如果將該參數設置爲true(布爾值),它將返回數據。默認行爲是false,將其發送到您的瀏覽器。請記住,如果你想返回的數據,將其分配給一個變量:

$string = $this->load->view('myfile', '', true); 

另外,你的代碼的最後一位的$page第二定義調用->set('page', $page)->build('kow');因此這不會改變後會發生輸出。

+0

謝謝你的迴應。我如何解決你的迴應的第二部分? –

+0

其實我現在在迴應,但是,由於某種原因,它沒有顯示索引頁面。它顯示了404頁面。 –

1

我不知道代碼點火器什麼,但我看到這一點。我想$頁面可能是一個模板對象,它並不意味着使用ECHO天然化顯示...

OR

你的模板失敗,因爲一個PHP致命錯誤,但渲染所以這就是爲什麼你的緩衝區包含最初的DIV但沒有別的。 (或在您的ECHO $ PAGE處理過程中調用EXIT/DIE)

1

這種 「$這 - > kow-> pageStatus( '索引',$ activeTemplate [0] - > ID)」 返回一個數組。不能以你的方式比較它。當然,它會返回1,它可以被解釋爲TRUE,但是如果status_id被設置爲0或2或其他值,那麼它仍然會返回「TRUE」。

希望這會有所幫助