Search code examples
phpcodeigniterhmvc

CI HMVC: How to retrieve params from Modules::run()


How do I retrieve (and process) the params I have being passed in from this...

Modules::load('MembersList', $this->input->get(NULL, TRUE);

... into the module its being passed into?

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class MemberList extends MX_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->model('memberslist_model');
    }

    public function index()
    {
        // $params = how_do_i_retrieve it?

        if ( ! isset($list) || $list == 'individuals')
        {
            $data['module'] = 'Individuals';

            $data['results'] = $this->memberslist_model->list_individuals();
            $data['count'] = count($data['results']);

            $data['view'] = $this->load->view('list_individuals', $data, TRUE);
        }

        if ( $list == 'families')
        {
            $data['module'] = 'Families';
        }

        return $this->load->view('memberslist', $data, TRUE);
    }

    public function settings()
    {
        $data['settings'] = $this->memberslist_model->settings();
        return $this->load->view('settings', $data, TRUE);
    }
}

I understand that it is being passed as URI segments like codeigniter but I've tried everything and I can't get it to work.


Solution

  • I'm not sure which version you use, but you can try this:

    $whatEver = Modules::run('MembersList/index', $this->input->get(NULL, TRUE));
    
    class MemberList extends MX_Controller {
    
        function __construct()
        {
            parent::__construct();
            $this->load->model('memberslist_model');
        }
    
        public function index($params)
        {
            print_r($params);
            // $params = how_do_i_retrieve it?
    
            if ( ! isset($list) || $list == 'individuals')
            {
                $data['module'] = 'Individuals';
    
                $data['results'] = $this->memberslist_model->list_individuals();
                $data['count'] = count($data['results']);
    
                $data['view'] = $this->load->view('list_individuals', $data, TRUE);
            }
    
            if ( $list == 'families')
            {
                $data['module'] = 'Families';
            }
    
            return $this->load->view('memberslist', $data, TRUE);
        }
    
        public function settings()
        {
            $data['settings'] = $this->memberslist_model->settings();
            return $this->load->view('settings', $data, TRUE);
        }
    }