2012-11-14 90 views
-1

CI的裝載觀點默認爲:

$this->load->view('path'); 

但如果我想這樣做

$this->load->adminView('path') 

然後我可以在adminView路徑前加上路徑

我該怎麼做?

感謝

+0

爲什麼我會得到負面? –

回答

0

去../System/Core/Loader.php,行417 - > 210(CI 2.10)

public function view($view, $vars = array(), $return = FALSE) 
{ 
    return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return)); 
} 

改變你的函數名(和其他人也許有些代碼)作爲你希望,要小心!

+0

我不想修改核心。也許如果我創建了一個名爲loader.php的文件並將其放在應用程序/內核中,它將覆蓋它 –

+0

我將Loader.php複製到具有相同內容的core/Loader.php中,並複製視圖函數並將其重命名爲adminView並調用$這 - >負載> adminView( '路徑');在控制器中,它的工作。 –

+0

我想我正在做的是不好的做法,找不到另一種方法,謝謝 –

0

application/core/作出新的控制器:

<?php 

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

class Admin_Controller extends CI_Controller 
{ 

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

    function load_admin_view($path, $data = '', $return = false) 
    { 
     return $this->load->view("admin_dir/" . $path, $data, $return); 
    } 

} 

?> 

然後讓你的電流控制器擴展這個控制器:

class Page extends Admin_Controller 

而不是

class Page extends CI_Controller 

然後你可以使用:

$this->load_admin_view("path");