How do I pass to codeigniters controller a parameter via URL?
I use IgnitedTables to display jquery DataTable. Actually I use ajax to populate table (cms_datatable()) I would like to pass somehow a language parameter via url to can filter content on language
I have the following
public function cms($cms_lang = '') {
$this->cms_lang = $this->session->userdata('cms_lang');
if(isset($cms_lang)){
$this->cms_lang['current_lang'] = $cms_lang;
} else {
$this->cms_lang['current_lang'] = 'de';
}
$tmpl = array('table_open' => '<table id="cms_table" border="0" cellpadding="2" cellspacing="2" class="table table-striped table-primary table-condensed">');
$this->table->set_template($tmpl);
$this->table->set_heading('<input name="id[]" type="checkbox">', 'Title', 'SEF URL', 'Letztens bearbeitet', 'Status');
$this->load->view('admin/admin', $this->data);
}
public function cms_datatable() {
error_reporting(-1);
// var_dump($this->cms_lang['current_lang']); returns NULL
$this->datatables->select('id,title,sef_title, creation_date,status')
->edit_column('title', '<a href="/admin/dashboard/edit_post/$1">$2</a>', 'id, title')
->unset_column('creation_date')
->add_column('creation_date', '<span class="label label-danger">$1</span>', 'creation_date')
->unset_column('status')
->add_column('status', get_buttons('$1'), 'id')
->from('ci_content')
->where('language', $this->cms_lang);
echo $this->datatables->generate();
}
than I try to override the default value of variable $lang like
domain/admin/cms/en
but my var_dump($lang) shows the defualt value
routed as
$route['admin/cms'] = "admin/dashboard/cms";
$route['admin/cms/(:any)'] = "admin/dashboard/cms/$1";
http://yoursite.com/controller/method/paramN. So you need to set your route toadmin/dashboard/cms/cms_datatable/$1.