Italian Restaurant with CMS Made Simple

Post links to sites running CMS in all its glory.
Post Reply
kendo451

Italian Restaurant with CMS Made Simple

Post by kendo451 »

Here is an example of a restaurant site I just did that uses CMS Made Simple with JQuery and a nice slider.

I made it a one-page site, but each tab and image has a content block or content_image block.

http://figaredos.com/

The Menu page and also the Gallery page are both done with Jost's Gallery module.

The menu page can only show three Entrees at a time, so I call gallery with action="random".  I use the image title for the entree title, comment as the description, and obviously the gallery image for the thumbnail.

I would have used Calguy's Google Maps module for a Google map, but I've found that Google Maps Iframes don't play well with Javascript sliders, so I used an external link.

For this site I modified the Boutique theme from themeforest.
Theme Forest Boutique Theme

I offer my clients the option of paying up front, or paying an increased monthly hosting fee for as long as they have the site.  So this client chose the monthly fee and got this site for only $50/month including hosting and domain registration.

For more information on what I did for this client you read my blog post here:
Figaredo's Italian Restaurant

Image

Here are the templates if you are interested in trying this kind of thing yourself:

Main Page Template

Code: Select all

{process_pagedata}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<__html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{title} :: {sitename}</title>
{metadata}
{stylesheet}
{global_content name='scripts'}
<link rel="icon" type="image/png" href="./favicon2.png" />
</head>
</__body>
<div id="pagewrapper">
	<div id="pagebg">
   	  <div id="content">
				<div id="left"> <!-- Left Part of the Page -->
                <ul id="pageitem"><!-- Different Pages listed by <li> elements -->
                        <li>{content_image block='Home Banner' dir='images/banners'}</li>
                        <li>
                            <h2>Featured Entrees</h2>
                            <div class="tabcontent">
                                {Gallery dir='Menu' number='3' action='showrandom'}
                                <a class="menuLink" href="./uploads/menu.pdf">Click for Full Menu</a>
                            </div>
                        </li>
                        <li>
                            {content_image block='Wine List Banner' dir='images/banners'}
                            <h2>Featured Wines</h2>
                            <div class="tabcontent">
                            	{content block='Wines'}
	                            <a class="menuLink" href="./uploads/winelist.pdf">Click for Complete Wine List</a>
                            </div>
                        </li>
                        <li>
                            <h2>Photo gallery</h2>
                            <div class="tabcontent"> 
                            	<div class="gallery"> 
                                    {Gallery number='9' action='showrandom'}
                            	</div>
                            </div>
                        </li>
                        <li>
                            {content_image block='About Banner' dir='images/banners'}
                            <h2>About us</h2>
                            <div class="tabcontent">
                            	<div class="contactleft">{content block='About Us Left'}</div>
                                <div class="contactright">{content block='About Us Right'}</div>
                            </div>
                        </li> 
						<li>
						{content_image block='Specials Banner' dir='images/banners'}
						<h2>Specials</h2>
						<div class="tabcontent">
						{content block='Specials'}
						</div>
						</li>		
						<li>
						{content_image block='Hours Banner' dir='images/banners'}
						<h2>Hours</h2>
						<div class="tabcontent">
						{content block='Hours'}
						</div>
						</li>						
                        <li>
                        {content_image block='Contact Us Banner' dir='images/banners'}
                            <h2>Contact Us</h2>
                        	<div class="tabcontent">
                                <div class="contactleft">
                                    {FormBuilder form='contact'}
                                </div>
                                <div class="contactright">
                                    {content block='Contact Info'}
                                </div>
                            </div>
                        </li>
                  </ul>
           	  </div><!-- End of Left Part of the Page -->
          <div id="right"><!-- Right Part of the Page -->
          <div id="logo"><h1>{sitename}</h1></div><!-- close #logo /-->
          <div class="menu" id="pageitem-menu"> <!-- PageNavigation -->
          <ul>
              <li><a class="" href="#pageitem-1">Home</a></li>
              <li><a class="" href="#pageitem-2">Menu</a> </li>
              <li><a class="" href="#pageitem-3">Wine List</a> </li>
              <li><a class="" href="#pageitem-4">Photo Gallery</a> </li>
              <li><a class="" href="#pageitem-5">About Us</a> </li>
			  <li><a class="" href="#pageitem-6">Specials</a> </li>
			  <li><a class="" href="#pageitem-7">Hours</a> </li>
              <li><a class="" href="#pageitem-8">Contact Us</a> </li>
<li><a target="_blank" href="http://maps.google.com/maps/place?cid=1597741345934048413&q=figaredos+italian+restaurant+abingdon+va&hl=en&cd=1&ei=pRIiTOr7FISuNc7X6PII&sig2=Cu-0GOkX5e9GNshkxbEiKw&sll=36.71226,-81.995086&sspn=0.006295,0.039023&ie=UTF8&ll=36.715813,-82.00206&spn=0,0&z=17">Directions</a></li> </ul> 

          </div>
<!-- End of Left Part of the Page -->
          
		</div>
	</div>
	</div>
</div>
<div id="copyright"> Copyright © {custom_copyright} Santiago Figaredo</div>
{literal}
<__script__ type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</__script>
{/literal}
<__body>
</__html>
Gallery Template

Code: Select all

{foreach from=$images item=image}
   <a class="group" rel="gallery" href="{$image->file}" title="{$image->title}" rel="gallery"><img src="{$image->thumb}" alt="{$image->title}" width="150" height="120" /></a>
{/foreach} 
Last edited by kendo451 on Wed Jun 23, 2010 7:09 pm, edited 1 time in total.
Peciura

Re: Italian Restaurant with CMS Made Simple

Post by Peciura »

It looks and feels very nice.
I think you forgot to resize '/uploads/images/Gallery/Menu/Black Wolf Ride to the Wall 2010 259.JPG' it is 6MP and 1MB of size
Last edited by Peciura on Wed Jun 23, 2010 9:54 pm, edited 1 time in total.
kendo451

Re: Italian Restaurant with CMS Made Simple

Post by kendo451 »

Thanks, Pecuira! I just fixed that.
Last edited by kendo451 on Thu Jun 24, 2010 1:36 am, edited 1 time in total.
User avatar
kermit
Power Poster
Power Poster
Posts: 693
Joined: Thu Jan 26, 2006 11:46 am

Re: Italian Restaurant with CMS Made Simple

Post by kermit »

the site sure LOOKS good and it was probably an quick sell, but usability goes out the window without scripting enabled. all for a little eye candy. imho a site should never rely on scripting to display ordinary content. the site would've looked just as good with separate actual pages instead, set in the same template.. and would've been easier, faster and cheaper to produce.

as separate pages, the height of the layout wouldn't be restricted, either.  right now, browsers that are set to use a larger text size have content cut off the bottom...

separate pages would also reduce load times.. granted, you're getting all the data transfer out of the way right-off, but spreading the over 500 k (thirty files) of home page content across multiple pages would be better. those smaller pages would also likely load faster than that scroll action going past multiple pages. without the slider, you'd also be able to integrate the google map into the site as well.

and finally, the top page margin should be reduced by about 1/2, so the main page layout can fit in at least s standard 1024x768 maximized browser, which is roughly a 1000x600 viewport (when there's not a bazillion toolbars enabled)

a fancy new restaurant like that, image is everything.. if the site is screwed up or slow in any way, people will remember.
Last edited by kermit on Thu Jun 24, 2010 3:42 am, edited 1 time in total.
eternity (n); 1. infinite time, 2. a seemingly long or endless time, 3. the length of time it takes a frozen pizza to cook when you're starving.
4,930,000,000 (n); 1. a very large number, 2. the approximate world population in 1986 when Microsoft Corp issued its IPO. 3. Microsoft's net profit (USD) for the quarter (3 months) ending 31 March 2007.
CMSMS migration and setup services | Hosting with CMSMS installed and ready to go | PM me for Info
kendo451

Re: Italian Restaurant with CMS Made Simple

Post by kendo451 »

Kermit, you are right.  I considered making a default stylesheet that would work sans javascript. The client doesn't care, but I usually try to do accessible, graceful degradation, and I just didn't have time on this one.
Last edited by kendo451 on Fri Jun 25, 2010 3:29 am, edited 1 time in total.
Post Reply

Return to “CMS Show Off”