<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Views : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 1.7</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
Views
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">

<h1>Views</h1>

<p>A <dfn>view</dfn> is simply a web page, or a page fragment, like a header, footer, sidebar, etc.
In fact, views can flexibly be embedded within other views (within other views, etc., etc.) if you need this type
of hierarchy.</p>

<p>Views are never called directly, they must be loaded by a <a href="controllers.html">controller</a>.  Remember that in an MVC framework, the Controller acts as the
traffic cop, so it is responsible for fetching a particular view. If you have not read the <a href="controllers.html">Controllers</a> page
you should do so before continuing.</p>

<p>Using the example controller you created in the <a href="controllers.html">controller</a> page, let's add a view to it.</p>

<h2>Creating a View</h2>

<p>Using your text editor, create a file called <dfn>blogview.php</dfn>, and put this in it:</p>

<textarea class="textarea" style="width:100%" cols="50" rows="10">
&lt;html>
&lt;head>
&lt;title>My Blog&lt;/title>
&lt;/head>
&lt;body>
	&lt;h1>Welcome to my Blog!&lt;/h1>
&lt;/body>
&lt;/html>
</textarea>

<p>Then save the file in your <dfn>application/views/</dfn> folder.</p>

<h2>Loading a View</h2>

<p>To load a particular view file you will use the following function:</p>

<code>$this->load->view('<var>name</var>');</code>

<p>Where <var>name</var> is the name of your view file.  Note: The .php file extension does not need to be specified unless you use something other then <kbd>.php</kbd>.</p>


<p>Now, open the controller file you made earlier called <dfn>blog.php</dfn>, and replace the echo statement with the view loading function:</p>


<textarea class="textarea" style="width:100%" cols="50" rows="10">
<?php
class Blog extends Controller {

	function index()
	{
		$this->load->view('blogview');
	}
}
?>
</textarea>


<p>If you visit the your site using the URL you did earlier you should see your new view.  The URL was similar to this:</p>

<code>example.com/index.php/<var>blog</var>/</code>

<h2>Loading multiple views</h2>
<p>CodeIgniter will intelligently handle  multiple calls to $this-&gt;load-&gt;view from within a controller.  If more then one call happens they will be appended together. For example, you may wish to have a header view, a menu view, a content view, and a footer view. That might look something like this:</p>
<p><code>&lt;?php<br />
<br />
class Page extends Controller {<br /><br />

 &nbsp;&nbsp;&nbsp;function index()<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data['page_title'] =  'Your title';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;load-&gt;view('header');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;load-&gt;view('menu');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;load-&gt;view('content', $data);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;load-&gt;view('footer');<br />
&nbsp;&nbsp;&nbsp;}<br />
<br />
}<br />
	?&gt;</code></p>
<p>In the example above, we are using &quot;dynamically added data&quot;, which you will see below.</p>
<h2>Storing Views within Sub-folders</h2>
<p>Your view files can also be stored within sub-folders if you prefer that type of organization.  When doing so you will need
to include the folder name loading the view.  Example:</p>

<code>$this->load->view('<kbd>folder_name</kbd>/<var>file_name</var>');</code>


<h2>Adding Dynamic Data to the View</h2>

<p>Data is passed from the controller to the view by way of an <strong>array</strong> or an <strong>object</strong> in the second
parameter of the view loading function. Here is an example using an array:</p>

<code>$data = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'title' => 'My Title',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading' => 'My Heading',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'message' => 'My Message'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
$this->load->view('blogview', <var>$data</var>);</code>

<p>And here's an example using an object:</p>

<code>$data = new Someclass();<br />
$this->load->view('blogview', <var>$data</var>);</code>

<p>Note: If you use an object, the class variables will be turned into array elements.</p>


<p>Let's try it with your controller file.  Open it add this code:</p>

<textarea class="textarea" style="width:100%" cols="50" rows="14">
&lt;?php
class Blog extends Controller {

	function index()
	{
		$data['title'] = "My Real Title";
		$data['heading'] = "My Real Heading";
		
		$this->load->view('blogview', $data);
	}
}
?&gt;
</textarea>


<p>Now open your view file and change the text to variables that correspond to the array keys in your data:</p>


<textarea class="textarea" style="width:100%" cols="50" rows="10">
&lt;html>
&lt;head>
&lt;title>&lt;?php echo $title;?>&lt;/title>
&lt;/head>
&lt;body>
	&lt;h1>&lt;?php echo $heading;?>&lt;/h1>
&lt;/body>
&lt;/html>
</textarea>

<p>Then load the page at the URL you've been using and you should see the variables replaced.</p>

<h2>Creating Loops</h2>

<p>The data array you pass to your view files is not limited to simple variables.  You can
pass multi dimensional arrays, which can be looped to generate multiple rows.  For example, if you
pull data from your database it will typically be in the form of a multi-dimensional array.</p>

<p>Here's a simple example. Add this to your controller:</p>

<textarea class="textarea" style="width:100%" cols="50" rows="17">
&lt;?php
class Blog extends Controller {

	function index()
	{
		$data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');

		$data['title'] = "My Real Title";
		$data['heading'] = "My Real Heading";
		
		$this->load->view('blogview', $data);
	}
}
?&gt;
</textarea>


<p>Now open your view file and create a loop:</p>


<textarea class="textarea" style="width:100%" cols="50" rows="24">
&lt;html>
&lt;head>
&lt;title>&lt;?php echo $title;?>&lt;/title>
&lt;/head>
&lt;body>
&lt;h1>&lt;?php echo $heading;?>&lt;/h1>
	
&lt;h3>My Todo List&lt;/h3>	

&lt;ul>
&lt;?php foreach($todo_list as $item):?>

&lt;li>&lt;?php echo $item;?>&lt;/li>

&lt;?php endforeach;?>
&lt;/ul>
	
&lt;/body>
&lt;/html>
</textarea>
<p><strong>Note:</strong> You'll notice that in the example above we are using PHP's alternative syntax.  If you
are not familiar with it you can read about it <a href="alternative_php.html">here</a>.</p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="controllers.html">Controllers</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="models.html">Models</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2008 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>

</body>
</html>