2010-01-20 12 views
5

मैं अपनी साइट टेम्पलेट दृश्यों में दिखाने के लिए मेरी त्रुटि_404.php चाहता हूं। मैंने सीआई_एक्सप्शन क्लास (MY_Exceptions) बढ़ाया है और show_404() और show_error() विधियों को ओवरराइड किया है। अब मैं जो करना चाहता हूं वह वहां एक व्यू फाइल लोड करने में सक्षम है। सबसे अच्छा, मैं MY_Controller क्लास में _header() और _footer() विधियों को लोड करना चाहता हूं। क्या यह किसी भी तरह से संभव है?कोडइग्निटर - अपवादों में लोड-> देखें() का उपयोग

class MY_Exceptions extends CI_Exceptions { 

    public function __construct(){ 
    parent::__construct(); 
    } 

    function show_404($page = '') 
    { 
     $heading = "404 Page Not Found"; 
     $message = "The page you requested was not found for some strange reason..."; 

     log_message('error', '404 Page Not Found --> '.$page); 

     $CI =& get_instance(); 
     $CI->load->view('template/header'); 
     echo $this->show_error($heading, $message, 'error_404', 404); 
     $CI->load->view('template/footer'); 
     exit; 
    } 

    function show_error($message, $status_code = 500) 
    { 
     $error =& load_class('Exceptions'); 
     echo $error->show_error('An Error Was Encountered', $message, 'error_general', $status_code); 
     exit; 
    } 
} 

लेकिन मैं यह नहीं कर सकता। कोई सुझाव?

+0

अभिभावक :: __ निर्माण(); माता-पिता होना चाहिए :: सीआई_ अपवाद; – shin

+1

@shin - PHP5 में नहीं, मुझे लगता है। –

उत्तर

-1

इसे अपने नियंत्रक में उपयोग करें।

$data['main'] = 'my404'; 
$this->load->vars($data); 
$this->load->view('maintemplate'); 

और रखरखाव दृश्य में।

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 

what ever here. 


</head> 
<body> 
<div id="wrapper"> 
    <div id="header"> 
    <?php $this->load->view('admin_header');?> 
    </div> 

    <div id="main"> 
    <?php $this->load->view($main);?> 
    </div> 

    <div id="footer"> 
    <?php $this->load->view('admin_footer');?> 
    </div> 
</div> 


</body> 
</html> 

और अपना my404 व्यू बनाएं।

+0

वह इसे किस नियंत्रक में रखना है? क्या उसे अभी भी अपवाद हैंडलर का विस्तार करने की आवश्यकता है? – bafromca

+0

@ ब्रेट एल्टन, हाँ। हालांकि, यह एवर दिखता है वास्तव में स्पष्ट नहीं है – manix