1

このようなコードイグナイターを使用して、コントローラーからメインビューにビューをロードしています

コントローラ

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 に答える