In my head this was supposed to be straight forward and easy
Ok, I have a product that has several modules available to be bought. The main product page for this item I wanted to have a navigation bar across the top that listed each available module.
When a user clicked on one of these module links I wanted the new page to load but have the link/button coloured differently to the other module buttons to help visually show the module they are viewing.
I started solving this by setting the bg to the links cell using CSS and switching the bg colour depending on the directory name they were viewing.
The below code outlines what I am trying to achieve. Now the problem I have just hit is that I check the directory name they are in for instance /volocity/classification/ would give me classification and based on this I switch the bg colour.
But this is not scalable, for if in the future I add a new dir to the classfication dir such as register then the below code evaluates to the 'default' outcome because it brings back 'register' as the dir. Now I could then start adding more switch evaluations but this seems cumbersome. I then thought well why not use reg ex. and find the top tier DIR in the URL, which would work and be scalable, but then I thought "this is getting a little silly".
Would someone please offer their advice and either say "yeah you are on the right track" or "I know a much easier way you numpty".
By the way I don't wish to start throwing page vars through the URL because I wish my prod pages URL to be kept simple http://www.mysite/products/product
Code: Select all
<?
$module_name = basename(dirname(__FILE__));
// The case 'somename' statement corresponds to the folder names on the server.
switch ($module_name):
case 'volocity':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li id="active"><a href="/products/volocity/" id="current">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
case 'visualization':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li id="active"><a href="/products/volocity/visualization/" id="current">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
case 'classification':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li id="active"><a href="/products/volocity/classification/" id="current">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
case 'restoration':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li id="active"><a href="/products/volocity/restoration/" id="current">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
case 'acquisition':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li id="active"><a href="/products/volocity/acquisition/" id="current">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
case '3dm':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li id="active"><a href="/products/volocity/3dm/" id="current">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
case 'volocity_le':
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li id="active"><a href="/products/volocity/volocity_le/" id="current">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
break;
default:
echo "<div id="navcontainer">";
echo "<ul id="navlist">";
echo "<li><a href="/products/volocity/">Volocity</a></li>";
echo "<li><a href="/products/volocity/visualization/">Visualization</a></li>";
echo "<li><a href="/products/volocity/classification/">Classification</a></li>";
echo "<li><a href="/products/volocity/restoration/">Restoration</a></li>";
echo "<li><a href="/products/volocity/acquisition/">Acquisition</a></li>";
echo "<li><a href="/products/volocity/3dm/">3DM</a></li>";
echo "<li><a href="/products/volocity/volocity_le/">Volocity LE</a></li>";
echo "</ul>";
echo "</div>";
endswitch;
?>Jim