home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / pc / exsource.old / 18_10.tcl < prev    next >
Text File  |  2003-04-15  |  1KB  |  53 lines

  1. #
  2. # Example 18-10
  3. # SiteMenu and SiteFooter template procedures.
  4. #
  5.  
  6. array set site {
  7.     bg            white
  8.     fg            black
  9.     mainlogo            /images/mainLogo.gif
  10. }
  11. proc SitePage {title} {
  12.     global site
  13.     set html "<html><head><title>$title</title></head>\n\
  14.         <body bgcolor=$site(bg) text=$site(fg)>\n\
  15.         <!-- Two Column Layout -->\n\
  16.         <table cellpadding=0>\n\
  17.         <tr><td>\n\
  18.         <!-- Left Column -->\n\
  19.         <img src=\" $site(mainlogo)\" >\n\
  20.         <font size=+1>\n\
  21.         [SiteMenu <br> $site(pages)]\n\
  22.         </font>\n\
  23.         </td><td>\n\
  24.         <!-- Right Column -->\n\
  25.         <h1>$title</h1>\n\
  26.         <p>\n"
  27.     return $html
  28. }
  29. proc SiteFooter {} {
  30.     global site
  31.     set html "<p><hr>\n\
  32.         <font size=-1>[SiteMenu | $site(pages)]</font>\n\
  33.         <!-- Close Right Column -->\n\
  34.         </td></tr></table>\n"
  35.     return $html
  36. }
  37. proc SiteMenu {sep list} {
  38.     global page
  39.     set s ""
  40.     set html ""
  41.     foreach {label url} $list {
  42.         if {[string compare $page(url) $url] == 0} {
  43.             append html $s$label
  44.         } else {
  45.             append html "$s<a href=\" $url\" >$label</a>"
  46.         }
  47.         set s $sep
  48.     }
  49.     return $html
  50. }
  51.  
  52.  
  53.