Меню навигации PHP и стиль активной страницы - PullRequest
1 голос
/ 19 июля 2011

Привет. Я пытаюсь сгенерировать кнопки навигации / страницы моего сайта и дать активной странице элемент стиля.На данный момент у меня есть применение элемента стиля к домашней странице, но при переходе на другие страницы элемент стиля остается на кнопке «Домой», а не применяется к текущей странице.

Мои страницы динамическиес URL-адресом, таким как: http://www.website.com/?p=contact

<?php

    $current = array(
        "" => "Home",
        "?p=contact" => "Contact Us",
        "?p=about" => "About Us",
        "?p=privacy" => "Privacy Policy"
    );
    foreach( $current as $k => $v ) {
        $active = $_GET['page'] == $k
            ? ' class="current_page_item"'
            : '';
        echo '<li'. $active .'><a href="./'. $k .'">'. $v .'</a></li>';
    }

?>

Я пробовал несколько вещей, но не могу заставить его работать правильно, любая помощь будет принята с благодарностью.Спасибо:)

1 Ответ

1 голос
/ 19 июля 2011

Следующая строка является виновником

$ _ GET ['page'] == $ k

Вы должны использовать $ _GET ['p'], который является параметром строки запроса.В вашем примере URL будет равен contact.Поэтому сохраняйте значения вашего массива без ?p=

<?php

    $current = array(
        "" => "Home",
        "contact" => "Contact Us",
        "about" => "About Us",
        "privacy" => "Privacy Policy"
    );
    foreach( $current as $k => $v ) {
        $active = $_GET['p'] == $k
            ? ' class="current_page_item"'
            : '';
        echo '<li'. $active .'><a href="./'. $k .'">'. $v .'</a></li>';
    }

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...