[eluser]pickupman[/eluser]
For a backup plan, you want to make sure it is working normally right now where the whole page get regenerated on click. The type of behavior you are looking for is used in jQuery mobile. jQuery parses the page load and only changes the page (DOM) based on the content.
The other similar option is to use jQuery .load() and when a link is clicked, use your render_page method to only output the content on AJAX request.
Code:
function render_page($view) {
if( ! $this->input->is_ajax_request() )
{
//do this to don't repeat in all controllers...
$this->load->view('templates/header', $this->data);
//menu_data must contain the structure of the menu...
//you can populate it from database or helper
}
$this->load->view($view, $this->data);
if( ! $this->input->is_ajax_request() )
{
$this->load->view('templates/menu');
$this->load->view('templates/footer', $this->data);
}
}