2011-06-02 67 views

回答

1

檢查this

您可以通過兩種方式做到這一點。方式1:非常簡單。在上面的答案(我給的鏈接)添加以下行MyController函數結束

$this->load->_ci_view_path . = $this->view_type .'/'; 

你完成了。您可以像普通視圖加載一樣簡單地加載視圖。

方式2: 要自動加載基於用戶代理的視圖,我認爲你可以使用鉤子來實現它。爲了實現這個鉤就需要按照下面的步驟在autoload.php

$自動加載[ '庫']

  1. 自動加載用戶代理程序庫=陣列( 'USER_AGENT');

  2. config.php

    $配置[ 'enable_hooks'] = TRUE啓用鉤;

  3. 不在post_controller_constructor上實施掛鉤。添加以下代碼來hooks.php

    $鉤[ 'post_controller_constructor'] [] =陣列( '類'=> '的loadView', '功能'=> '負載', '文件名'=>「loadview.php ', 'filepath'=>'hooks' );

  4. 現在創建一個名爲loadview.php頁面掛鉤目錄下有下面的代碼

 
class Loadview 
{ 

    public static $MOBILE_PLATFORM = 'mobile'; 
    public static $DEFAULT_PLATFORM = 'default'; 

    public function load(){ 
     $this->CI =& get_instance(); 
     $view_type = $this->CI->agent->is_mobile() ? self::$MOBILE_PLATFORM : self::$DEFAULT_PLATFORM; 
     $this->CI->load->_ci_view_path = $this->CI->load->_ci_view_path . $view_type .'/'; 
    } 

} 
  • 現在完成了。您可以像普通視圖加載一樣簡單地加載視圖。
  • 0

    從「意見」除了加載從另一個目錄的意見,我發現這個論壇的主題是有幫助的

    http://codeigniter.com/forums/viewthread/132960/

    function external_view($path, $view, $vars = array(), $return = FALSE) 
        { 
         $full_path = $path.$view.'.php'; 
         if (file_exists($full_path)) 
         { 
          return $this->_ci_load(array('_ci_path' => $full_path, '_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return)); 
         } 
         else 
         { 
          show_error('Unable to load the requested module template file: '.$view); 
         } 
        } 
    

    ,你可以從控制器的工作休息。

    0

    我這樣做是在我的控制器:

    public function index() 
    { 
        if($this->agent->is_mobile()) 
        { 
         $this->load_mobile(); 
        } 
        else 
        { 
         $this->load_web(); 
        } 
    } 
    
    public function load_mobile() 
    { 
        $this->load->view('mobile/home'); 
    } 
    
    public function load_web() 
    { 
        $this->load->view('web/home'); 
    } 
    

    這樣我可以在不同的數據移動和網頁添加。

    我還擴展了默認的控制器,並添加了一些有用的額外功能:

    • 啓用的母版頁/模板使用。
    • 可以添加CSS和JavaScript文件。
    • 使用_output方法來控制控制器輸出。
    • 可以在模塊(視圖)的形式加載相對含量

    這樣我就可以更好地管理不同的頁面。

    再見!