Image-Website Hosting Canada logo Maple Leafs and Canadian Flag
Image-server racks, control cards, customer service, networking cards

  Virtual Servers
  Collocation Servers
  Dedicated Servers

  Compare Plans
  Create-a-Server
  Online Support/FAQ
  Web Design
Our Awards

ORDER NOW

 
Image - 30 Day Money Back Guarantee on Hosting Services
 
 
 

Building Maintainable Website's

Separate Content and Layout

The graphical appearance of your website and the content it contains are two separate elements and should be created and maintained independently of each other.

For consistency the graphical elements of your site should be the same on most pages, so it follows that the html for the graphical elements really should only be stored in one location to ensure it can be easily and quickly be updated.

Programming tools such as server side includes and PHP allow you to split the layout and content into separate elements.

Building sites with templates

If we agree on the need to separate layout and content, the next question is "what's the best way of achieving this?".

In many cases, especially on smaller sites you'll find that one template serves the needs of all pages on your site (with the exception of the homepage).

On larger sites there may be numerous page templates required as the layout changes for each sub-sections of the site.

Generate your standard page layout in html, perfect the appearance, run your browser compatibility testing to ensure everything stays the same. Then you can chop the file up...

Working with server side includes

Server side includes provide a very simple way of separating the common elements of your files from the content.

Example 1

A simple of example of a file constructed using SSI. In most cases you will need to give the file an extension of .shtml, the shtml extension tells the web server to parse the file, looking for include statements. Without the .shtml extension the file would be treated like a normal html file and the include statements would appear as comments.

The file names of the those being included, in this case "header.html" and "footer.html" don't need to end in .html, you may wish to give them ".incl" extensions to make it easier to manage your files.

header.html and footer.html do not need to be complete html files, they are just plain text files with portions of html code in them.

example1.shtml

----------------------------------
header
----------------------------------

content goes here

----------------------------------
footer
----------------------------------

<!--#include file='header.html' -->
 
 
content goes here  
 
 
<!--#include file='footer.html' -->

header.html

<html>
<head>
<title>Page title</title>
</head>
<body>

footer.html

text for the footer goes here
</body>
</html>

In our example every page would have the same header and footer, if you wish to be able to use a different navigation menu for example on each page then you may need to use multiple include statements.

You will find a wealth of information about using SSI, and the different commands that can be used on the following sites:

Using PHP for includes

PHP can be used in much that same way to split up the common elements of php pages. The major of advantage of using php is that you have greater flexibility over what you can achieve and greater capacity to add dynamic elements to your pages now or in future. PHP can easily be used to include information from databases or other files.

Button: Back to top

Example 2

Following our earlier example of using server side includes we can achieve the same thing in php.

example2.php

----------------------------------
header
----------------------------------

content goes here

----------------------------------
footer
----------------------------------

<?php include('header.php'); ?>
 
 
content goes here  
 
 
<?php include('footer.php'); ?>

header.php

<html>
<head>
<title>Page title</title>
</head>
<body>

footer.php

text for the footer goes here
</body>
</html>

To extend on this example and show how PHP can be used more effectively than server side includes.

For example, rather than every page having the same title, you can define the page title in your php pages by assigning a value to a variable which is passed on to the header.php page:

example3.php

header.php

<?php $page_title="SSI Tutorial"; include('header.php'); ?>  
 
content goes here  
 
 
<?php include('footer.php'); ?>
<html>
<head>
<title>
<?php echo $page_title; ?>
</title>
</head>
<body>

For more information on using PHP, you may find the following resources useful:


Related Information

Server Side Includes (SSI) tutorials:

PHP resources:

 

Button: Back to top

 

 Sitemap Privacy Site Use Contact us

website optimization services provided by OTR Web Systems Copyright 2001 - 2004 All Rights Reserved