Hi,
I have put together the following script which creates a dynamic drop-menu (in unordered list which is subsequently styled in CSS). What I am looking to do is find a way to add a focus to show the menu tab in a different colour when that page has been selected.
The current code is:
Code:
<?php
$result=mysql_query("SELECT id, title, link, parent_code, page_order, menu_title, parent_live, parent_title, page_type, page_admin, live, editable, installed FROM PCNET_$filename WHERE type='PAGE' AND live='checked' ORDER BY parent_code, page_order, title");
$menu = array(
'items' => array(),
'parents' => array()
);
while ($items = mysql_fetch_assoc($result))
{
$menu['items'][$items['id']] = $items;
$menu['parents'][$items['parent_code']][] = $items['id'];
}
function buildMenu($parent_code, $menu)
{
$html = "";
if (isset($menu['parents'][$parent_code]))
{
$html .= "\n";
foreach ($menu['parents'][$parent_code] as $itemId)
{
if(!isset($menu['parents'][$itemId]))
{
$html .= "<li><a href=\"admin_pages_".$menu['items'][$itemId]['link']."?eid=".$menu['items'][$itemId]['id']."\">".$menu['items'][$itemId]['menu_title']."</a></li>";
}
$html .= "\n";
if(isset($menu['parents'][$itemId]))
{
$html .= "<li><a href=\"admin_pages_".$menu['items'][$itemId]['link']."?eid=".$menu['items'][$itemId]['id']."\">".$menu['items'][$itemId]['menu_title']."</a><ul>";
$html .= buildMenu($itemId, $menu);
}
}
$html .= "</ul></a></li> \n";
}
return $html;
}
echo buildMenu(0, $menu);
?>
All the pages have a unique field which is 'code'. In the past I have used an example of this to add the class 'there' to denote when a page has been selected:
Code:
<li<?php if ($code == 'local-info') echo ' class="there"'; ?>>
However, I cannot see how to add it to my new dynamic menu above. The menu will be called on each page on the site, and each page has the 'code' defined at the top of the script.
I hope someone has any suggestions!
Neil