[eluser]bwuk[/eluser]
Hi everyone,
basically the title explains what it is I'm trying to do....but here's the extra info:
I've extended Controller with the following:
Code:
class Public_Controller extends Controller {
public $header_js = array();
public $header_css = array();
public $data = array();
function __construct() {
parent::Controller();
$this->header_css[] = array('href' => '/media.css', 'media' => 'all', 'compress' => true);
$this->load->library('user_lib');
$this->load->library('apps_lib');
$this->load->helper('email');
if ($this->load_main_content())
{
$this->display_top_nav();
$this->display_top_menu();
if ($this->user_lib->getUserId() > 0)
{
$this->display_homepage();
}
}
}
private function display_top_nav()
{
$this->load->view('top_nav');
}
private function display_top_menu()
{
$this->load->view('top_menu');
}
private function display_homepage()
{
if ($this->user_lib->getUserId() == 0)
{
$this->header_css[] = array('href' => '/login.css', 'media' => 'all', 'compress' => true);
$this->load->view('/login');
// I want to exit at this point
}
}
Basically, if someone isn't logged in, I want to display the view 'home' and stop everything there. I've also extended Output with MY_Output that deals with page headers and 'skins'. My site uses 'skins', which are basic templates. Here's one for example:
'skin.php'
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title><page_title /></title>
<header_css />
</head>
<body>
<div id="container">
<output />
</div>
<header_js />
</body>
</html>
So, MY_Output deals with:
<page_title /> - set in each Controller with $this->page_title
<header_css /> - set in each Controller with $this->header_css[] (an array of CSS includes)
<output /> - The standard output
<header_js /> - set in each Controller with $this->header_js[] (an array of JS includes)
How can I get CI to load the home view and then stop processing - i.e. just output the view with the relevant headers from MY_Output? If I try $this->output->get_output(), it just returns the standard output (what would replace <output /> in my skin).
Does that make any sense?
Thanks
bwuk