1

我正在使用这样的 codeigniter 从控制器的主视图中加载视图

控制器

public function product_modules($domain_id)
{           
    $this->load->model('/admin/Model_products', '', TRUE);      
    $data['product_boxes'] = $this->Model_products->getProducBoxes($domain_id);
    $this->load->view('admin/dashboard',$data, null, true);

}

主视图

 $this->view($_SERVER['REQUEST_URI']);

但是如果请求的 uri 包含查询字符串,则视图没有被加载,我得到一个 type Unable to load the requested file: /admin/product_modules/1.php。动态调用视图的最佳解决方法是什么?

4

1 回答 1

1
<?php

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

class Example extends CI_Controller
{

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

    public function _remap($method, $params = array())
    {
        // dynamically assign the method with parameters support
        $this->view($method, $params);
    }

    public function product_modules($domain_id)
    {
        $this->load->model('/admin/Model_products', '', TRUE);
        $data['product_boxes'] = $this->Model_products->getProducBoxes($domain_id);
        $this->load->view('admin/dashboard', $data, null, true);
    }

    public function view($method, $param1 = '', $param2 = '')
    {
        // params you can sent to models
        $data['users'] = $this->model_name->get_user($param1);

        // or views
        $data['myvar'] = $param2;

        // and load the view dynamically
        $this->load->view($method, $data);
    }

}

所以

如果 URL 是http://example/controller/method那么上面将搜索method.php视图文件,

如果 URL 是http://example/controller/product_modules/1则它搜索product_modules.php视图文件。

希望这可以帮助。谢谢!!

于 2013-02-25T08:31:13.647 回答