Revision: 23969
Updated Code
at February 24, 2010 16:45 by rareyman
Updated Code
<?php // Create (at least) 2 pages: // 1) page.php : this is the rendered html page // 2) nav-settings.php : this holds the settings of number of nav items, urls, etc. ?> <!-- page.php ---------------------------------------- --> <html> <head> <!-- what page am i? --> <?php global $page; $page="PAGE_SHORTNAME or STRING FOR TITLE"; // see nav-settings.php ?> <?php include('nav-settings.php'); ?> <!-- will write title tag: see nav-settings.php --> </head> <body id="<?php echo $page; ?>"> <!-- optional: used for css styling purposes if necessary --> <div> <!-- insert navigation list here --> <?php echo $navbarList; ?> <!-- will produce something like this (assuming $page='ordering'): --> <!-- <ul> <li><a href="#">Home</a></li> <li><a href="#">Products</a></li> <li class="selected"><span>Ordering Info</span></li> <li><a href="#">Press Room</a></li> <li><a href="#">Events</a></li> <li><a href="#">Publications</a></li> <li><a href="#">Business Development</a></li> </ul> --> </div> </body> </html> <!-- nav-settings.php ---------------------------------------- --> <?php /* declare global variables ---------------------------------------- */ global $tab; // shortname of tab/page global $tabName; // long (display) name of tab/page global $page; // name of page for <title> global $navbarTabs; // array holding tab and tabNames global $navbarURLs; // array holding tab URLs global $navbarList; // string holding the navBar // make sure these arrays match! // (there are more efficient ways of building these arrays, but I am shooting for simplicity) $navbarTabs = array( "home" => "Home", "products" => "Products", "ordering" => "Ordering Info", "press" => "Press Room", "events" => "Events", "publications" => "Publications", "contract" => "Business Development" ); $navbarURLs = array( "home" => '#', // urls for the links "products" => '#', "ordering" => '#', "press" => '#', "events" => '#', "publications" => '#', "contract" => '#' ); // check current page, then determine name of current page // if given a non-shortname value, $page can be the custom name of the page if ( ($page == "home") || ($page == "products") || ($page == "events") || ($page == "ordering") || ($page == "press") || ($page == "publications") || ($page == "contract")) { $tabName = $navbarTabs[$page]; } else { $tabName = $page; } // create navigation list => $navbarList (echo it whenever you need the nav list) $navbarList = "<ul>\n"; // add id or class if needed for styling foreach ($navbarTabs as $k => $v) { switch ($k) { case $page: $navbarList = $navbarList."<li class=\"selected\"><span>$v</span></li>\n"; break; default: $link = $navbarURLs[$k]; $navbarList = $navbarList."<li><a href=\"$link\">$v</a></li>\n"; } } $navbarList = $navbarList."</ul>"; // print title tag on HTML page echo '<title>SITE NAME : '.$tabName.'</title>'; ?>
Revision: 23968
Updated Code
at February 24, 2010 15:55 by rareyman
Updated Code
<?php // Create (at least) 2 pages: // 1) page.php : this is the rendered html page // 2) nav-settings.php : this holds the settings of number of nav items, urls, etc. ?> <!-- page.php ---------------------------------------- --> <html> <head> <!-- what page am i? --> <?php global $page; $page="PAGE_SHORTNAME or STRING FOR TITLE"; // see nav-settings.php ?> <?php include('nav-settings.php'); ?> <!-- will write title tag: see nav-settings.php --> </head> <body id="<?php echo $page; ?>"> <!-- optional: used for css styling purposes if necessary --> <div> <!-- insert navigation list here --> <?php echo $navBarList; ?> <!-- will produce something like this (assuming $page='ordering'): --> <!-- <ul> <li><a href="#">Home</a></li> <li><a href="#">Products</a></li> <li class="selected"><span>Ordering Info</span></li> <li><a href="#">Press Room</a></li> <li><a href="#">Events</a></li> <li><a href="#">Publications</a></li> <li><a href="#">Business Development</a></li> </ul> --> </div> </body> </html> <!-- nav-settings.php ---------------------------------------- --> <?php /* declare global variables ---------------------------------------- */ global $tab; // shortname of tab/page global $tabName; // long (display) name of tab/page global $page; // name of page for <title> global $navbarTabs; // array holding tab and tabNames global $navbarURLs; // array holding tab URLs global $navbarList; // string holding the navBar // make sure these arrays match! // (there are more efficient ways of building these arrays, but I am shooting for simplicity) $navbarTabs = array( "home" => "Home", "products" => "Products", "ordering" => "Ordering Info", "press" => "Press Room", "events" => "Events", "publications" => "Publications", "contract" => "Business Development" ); $navbarTopURLs = array( "home" => '#', // urls for the links "products" => '#', "ordering" => '#', "press" => '#', "events" => '#', "publications" => '#', "contract" => '#' ); // check current page, then determine name of current page // if given a non-shortname value, $page can be the custom name of the page if ( ($page == "home") || ($page == "products") || ($page == "events") || ($page == "ordering") || ($page == "press") || ($page == "publications") || ($page == "contract")) { $tabName = $navbarTabs[$page]; } else { $tabName = $page; } // create navigation list => $navBarList (echo it whenever you need the nav list) $navbarList = "<ul>\n"; // add id or class if needed for styling foreach ($navbarTabs as $k => $v) { switch ($k) { case $page: $navbarList = $navbarList."<li class=\"selected\"><span>$v</span></li>\n"; break; default: $link = $navbarURLs[$k]; $navbarList = $navbarList."<li><a href=\"$link\">$v</a></li>\n"; } } $navbarList = $navbarList."</ul>"; // print title tag on HTML page echo '<title>SITE NAME : '.$tabName.'</title>'; ?>
Revision: 23967
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 17, 2010 18:54 by rareyman
Initial Code
<?php // Create 3 pages: // 1) page.php : this is the rendered html page // 2) nav-settings.php : this holds the settings of number of nav items, urls, etc. // 3) nav-construct.php : this builds the navigation list ?> <!-- page.php ---------------------------------------- --> <html> <head> <!-- what page am i? --> <?php global $page; $page="PAGE_SHORTNAME or STRING FOR TITLE"; // see nav-settings.php ?> <?php include('nav-settings.php'); ?> <!-- will write title tag: see nav-settings.php --> </head> <body id="<?php echo $page; ?>"> <!-- optional: used for css styling purposes if necessary --> <div> <!-- insert navigation list here --> <?php include('nav-construct.php'); ?> <!-- will produce something like this (assuming $page='ordering'): --> <!-- <ul> <li><a href="#">Home</a></li> <li><a href="#">Products</a></li> <li class="selected"><span>Ordering Info</span></li> <li><a href="#">Press Room</a></li> <li><a href="#">Events</a></li> <li><a href="#">Publications</a></li> <li><a href="#">Business Development</a></li> </ul> --> </div> </body> </html> <!-- nav-settings.php ---------------------------------------- --> <?php /* declare global variables ---------------------------------------- */ global $tab; // shortname of tab/page global $tabName; // long (display) name of tab/page global $page; // name of page for <title> global $navbarTabs; // array holding tab and tabNames global $navbarURLs; // array holding tab URLs global $navbarList; // string holding the navBar // make sure these arrays match! // (there are more efficient ways of building these arrays, but I am shooting for simplicity) $navbarTabs = array( "home" => "Home", "products" => "Products", "ordering" => "Ordering Info", "press" => "Press Room", "events" => "Events", "publications" => "Publications", "contract" => "Business Development" ); $navbarTopURLs = array( "home" => '#', "products" => '#', "ordering" => '#', "press" => '#', "events" => '#', "publications" => '#', "contract" => '#' ); // check current page, then determine name of current page // if given a non-shortname value, $page can be the custom name of the page if ( ($page == "home") || ($page == "products") || ($page == "events") || ($page == "ordering") || ($page == "press") || ($page == "publications") || ($page == "contract")) { $tabName = $navbarTabs[$page]; } else { $tabName = $page; } // print title tag on HTML page echo '<title>SITE NAME : '.$tabName.'</title>'; ?> <!-- nav-construct.php ---------------------------------------- --> <?php /* declare global variables ---------------------------------------- */ global $tab; global $tabName; global $page; global $navbarTabs; global $navbarURLs; global $navbarList; // create navigation list $navbarList = "<ul>\n"; // add id or class if needed for styling foreach ($navbarTabs as $k => $v) { switch ($k) { case $page: $navbarList = $navbarList."<li class=\"selected\"><span>$v</span></li>\n"; break; default: $link = $navbarURLs[$k]; $navbarList = $navbarList."<li><a href=\"$link\">$v</a></li>\n"; } } $navbarList = $navbarList."</ul>"; // write the list: echo $navbarList; ?>
Initial URL
Initial Description
Aimed at designers who want to sprinkle in a little PHP to make development easier. If building/prototyping a site with HTML/PHP, this can save time by constructing the navigation list on the fly, based on re-usable navigation settings. Usage: Assuming you have multiple HTML/PHP pages, simply add $page definition to the top of each page, include the PHP files, then configure the settings to build your navigation. (See the detail of each of the three core pages below for more information.)
Initial Title
UL Navigation Construction (create re-usable navigations)
Initial Tags
css, php, html
Initial Language
PHP