Link to home
Start Free TrialLog in
Avatar of Rowby Goren
Rowby GorenFlag for United States of America

asked on

Using SSI & SHTML to create left and right column navigation bars

Hello,

I know how to use server side includes and SHTML to create top and bottom navigation systems on all my pages.

But for a different client I want the navigation to be on the left.  And also have an informative column on the right of the main center body text on the web pages.

Is it possible to use server side includes and SHTML to do this?  If so, how do I set it up.

Thanks

Rowby
Avatar of webwoman
webwoman

Sure, you just have to put them in a table. Make a table, left cell holds the SSI for that navigation, center holds content, right holds whatever needs to go there -- I'm assuming another SSI. I do this all the time (though I don't use the right column...cuts down too much on the amound of space for content).
What webwoman suggests will work, and I suggest that you take very seriously her comment about a right column.  But, ...

Why not use frames?  You don't need SSIs or SHTML (unless you are doing something extra special which you aren't mentioning).
Avatar of Rowby Goren

ASKER

Hi webwoman,

I think I "get it".  But need a bit of clarification.

Do I make the table on the page that is to receive the ssi or do I make the table on the page that holds the ssi, that is to be "fed" into all the other pages.

Can you give me an SHTML/HTML example(s) of what you mean.

Thanks

Rowby

Hi Ernest, yes I could use frames, but I would like to see how SSI/SHTML would handle this particular situation
ASKER CERTIFIED SOLUTION
Avatar of rag2000
rag2000

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
>>Why not use frames?  


BLAH


:-)

Here's one example...

On the site I did at MobPosters.com I have an SSI for the left nav column and an SSI for the footer. The entire page template is a table with the left nav SSI in the first TD, and the content in the second TD. At the bottom of the second TD, I included the footer SSI. If you wanted to use a third column, just create the TD with the SSI you want (just like the first column).

You can view source there to see how it falls together...

~JG

Hi everybody. I am reading your comments and will get back to all. (FInsihing a website on deadline!)

I'll return on Fri or sat am.

Thanks again!

Rowby
brunobear: I'm confused by your "BLAH" comment, but I want to take it seriously and learn from you!

Do you mean "Blah" as in "not exciting"?  Or "Blah" as in "I hate frames"?  Or "Blah" as in "Frames are old technology and I want to use only the latest, leading edge stuff"?

TYIA for the education....

Those who "hate" frames are often those who don't know how to use them properly :D

~JG

Probably BLAH as in frames tend to be a maintenance nightmare, search engines get confused with them, and you can't bookmark them directly.

I use them sometimes, but very rarely anymore. There are better ways (like SSI) to have standardized navigation.
*points*  yes...what she said.

Frames used to be a great resource to keep navigation handy, and especially if you had navigation that was on ever page, that allowed you to maintain only ONE page of code, instead of hard coding it onto every page.  

There is not much that "I" personally would ever want to do with frames that I could not find a way to do with SSI.  The only good thing I see left is the ability to keep certain content viewable at all times, ie: navigation, header, footer.  NOT ALL AT ONCE, of course.

But as webwoman pointed out, it's a lot harder for search engines to index framed pages, a lot more difficult for users to bookmark pages within a frame set.  When I need to bookmark a page within a frameset, I generally bookmark JUST the individual page, which leaves me with no navigation when I return to it.  

Granted a lot of it has to do with the coder as JG pointed.  Somepeople can maked framed pages so seamless you would never even know you are in a frameset.  GREAT!  But frames are very easy to abuse.  And when certain things are TOO easy to abuse, other coders start to dislike it.

Anybody for a <BLINK> tag?

One of the most recent times I used frames was when we had to turn our extranet into a page that could be burned to a CD and distributed.  Well, you can't use SSI without a server, so we took our menu and header and put them into a frameset.  Not the prettiest way to do it, but one hell of a lot easier than going and hardcoding them onto every page.


BRUNO
brunobear: First, jgeoff is right, I'm afraid.

Second, because of the possibility of users with epilepsy (or other seizure-type disorders) Pages should never be made to have blinking anything or straight pulsing audio (e.g., a beat-beat-beat of 1K Hz).  The W3C recommends against it.  A <blink> tag would be just plain dangerous.  You may recall a scene in "The Andromeda Strain" where a flashing "No Growth" message causes a scientist to have a seizure.  That part was not fiction; it does happen.

webwoman: Sorry; I don't buy it.  I have sucessfully bookmarked many sites which are frames-based, as have other people.  The <meta> tags and hidden text have brought me (and countless other users) to frames-based sites.

All: People tend to want to use the latest and flashiest tools and techniques, whether or not there are older and simpler ways of accomplishing the same things.  It is human nature.  That's one reason why everyone from car makers to fashion designers constantly bombard us with the "New & Improved!" messages.

I'm not advocating going back to the typewriter or a burnt stick.  Nor a graphics-free Web.  I'm just suggesting that frames navigation, though not bleeding edge, has been proven to work well.
so you are saying i shouldn't do this on my pages?


<script>
function colors()
     {
     x = Math.round(Math.random() * 5); // random number 0 to 5
     if (x==1) document.bgColor='red';
     if (x==2) document.bgColor='blue';
     if (x==3) document.bgColor='green';
     if (x==4) document.bgColor='yellow';
     if (x==5) document.bgColor='purple';
     id=setTimeout('colors()',100);
     }
     colors()
</script>


BRUNO
Thanks!  Sorry it took so long to give the points. Been a bit overwhelmed!

Rowby