Welcome Guest, Not a member yet? Register   Sign In
Correct way to pass vars to multiple view files
#1

[eluser]alectrash[/eluser]
Today I wrote some code like the following:

Code:
$data['aHeader'] = array('meta_title' => 'Admin Dashboard', 'meta_keywords' => 'Keywords', 'meta_description' => 'Description', 'h1' => 'Admin Dashboard');
$data['thispage'] = 'admin';
$data['userdata'] = $this->session->userdata('admin');
    
$this->load->view('admin/_admin_header_view.php', $data);
$this->load->view('admin/_admin_nav_view.php', $data);
$this->load->view('admin/admin_dashboard_view.php', $data);
$this->load->view('admin/_admin_footer_view.php');

But as I don't need access to $data array in footer view file. As I build new pages in my project would it be best to do this with different data arrays for the different sections:

Code:
$header_data['aHeader'] = array('meta_title' => 'Admin Dashboard', 'meta_keywords' => 'Keywords', 'meta_description' => 'Description', 'h1' => 'Admin Dashboard');
$nav_data['thispage'] = 'admin';
$header_data['userdata'] = $this->session->userdata('admin');
$main_data['h1'] = "Welcome to page x';
    
$this->load->view('admin/_admin_header_view.php', $header_data);
$this->load->view('admin/_admin_nav_view.php', $nav_data);
$this->load->view('admin/admin_dashboard_view.php', $main_data);
$this->load->view('admin/_admin_footer_view.php');

...or I think there is a 3rd option just using the $this->load_vars method

Code:
$data['aHeader'] = array('meta_title' => 'Admin Dashboard', 'meta_keywords' => 'Keywords', 'meta_description' => 'Description', 'h1' => 'Admin Dashboard');
$data['thispage'] = 'admin';
$data['userdata'] = $this->session->userdata('admin');
$data['h1'] = "Welcome to page X';

$this->load->vars($data);
  
$this->load->view('admin/_admin_header_view.php');
$this->load->view('admin/_admin_nav_view.php');
$this->load->view('admin/admin_dashboard_view.php');
$this->load->view('admin/_admin_footer_view.php');

All the above methods work for me but I was just wondering what people in the community could recommend from experience?
#2

[eluser]jrtashjian[/eluser]
I would normally do the $this->load->vars($data) method. It's quicker and cleaner.
#3

[eluser]alectrash[/eluser]
thanks, I ended up doing that in the end.




Theme © iAndrew 2016 - Forum software by © MyBB