[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать подсветку для активного пункта меню?
semjaza
есть несколько функций-получение массива и вывод полученного с помощью рекурсивной функции..вот код функций:

//Функция получения массива каталога
function get_cat() {
//запрос к базе данных
$sql = "SELECT * FROM menu";
$result = mysql_query($sql);
if(!$result) {
return NULL;
}
$arr_cat = array();
if(mysql_num_rows($result) != 0) {

//В цикле формируем массив
for($i = 0; $i < mysql_num_rows($result);$i++) {
$row = mysql_fetch_array($result,MYSQL_ASSOC);

//Формируем массив где ключами являются айдишники на родительские категории
if(empty($arr_cat[$row['parent_id']])) {
$arr_cat[$row['parent_id']] = array();
}
$arr_cat[$row['parent_id']][] = $row;
}
//возвращаем массив
return $arr_cat;
}
}


//вывод каталогa с помощью рекурсии
function view_cat($arr,$parent_id = main) {

//Условия выхода из рекурсии
if(empty($arr[$parent_id])) {
return;
}

echo "<ul>";
//перебираем в цикле массив и выводим на экран
for($i = 0; $i < count($arr[$parent_id]);$i++) {
echo "<li><a href=\"?category_id={$arr[$parent_id][$i]['title_url']}&parent_id={$parent_id}\""
.($category_id == $arr[$parent_id][$i]['title_url'] ? ' class="menu-active"':'')
.
">{$arr[$parent_id][$i]['title']}</a>";
//рекурсия - проверяем нет ли дочерних категорий
view_cat($arr,$arr[$parent_id][$i]['title_url']);
echo "</li>";
}
echo "</ul>";

}


вывод происходит в файле site.php, примерно так-

//получаем массив каталога
$result = get_cat();


//Выводим каталог на экран с помощью рекурсивной функции
echo '<div id="header">';
echo '<img class="logo" src="images/logo.png">';
echo '<img class="yab" src="images/yab1.png">';
echo '<div id="menu">';
$menu = view_cat($result);
echo '</div>';
echo '</div>';

if(empty($_GET['category_id'])){
$parent_id = 'home';
}
else{
$parent_id = $_GET['category_id'];
}
?>
</div>
<
div id="content">
<?include($_SERVER['DOCUMENT_ROOT'].'/views/pages/'.$parent_id.'.php');?>
</div>


крутил разные значения,например
$category_id == $arr[$parent_id][$i]['title_url']

или

$category_id == $_GET['title_url']


ничего не выходит...помогите понять как задать условие правильно-чтоб активному пункту меню соответствовал класс со стилем:"menu-active"...заранее спасибо...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.