0

私はデータベースのない単純なサイトを持っています。各ページはサイトのルートディレクトリにあり、ページ値は次のように設定されています。

<?php    
$page_title = "My Page Title";
$description = "Page Description";
$current_page = "home";
//Load header  
include_once('includes/header.php');
?>

PHPを使用して、値の1つをアンカーテキストとして使用して各ページへのリンクのリストを生成し(ナビゲーションメニュー用)、現在のページにアクティブのクラスを追加するにはどうすればよいですか?

ページは他のファイルと一緒にルートディレクトリにあるため、メニューに表示されるページと表示されないページを指定し、robots.txt.htaccessなどの他のファイルを除外する方法が必要です。

どんな助けでも大歓迎

4

1 に答える 1

0

メニューに含めるかどうかを判断するために、URL とメニュー フラグを使用してナビゲーションをデータベースに保存することをお勧めします。

$_SERVER['PHP_SELF']次に、データベースの並べ替えからメニュー項目を好きな順序で取得でき、グローバル変数を使用して現在のページを自動的に決定することもできます。例えば。

<?php 
    $query = "SELECT * FROM menu WHERE inMenu = 1;";
    $result = mysql_query($query);
    echo "<ul>";
    while($row = mysql_fetch_assoc($result)) {
        $class = "";
        if ($_SERVER['PHP_SELF'] == "/" . $row['pageName']) {
             $class = "currentPage";
        }

        echo "<li {$class}>";
        echo "<a href='{$row['pageUrl']}'>{$row['pageName']}</a>";
        echo "</li>";
    }
    echo "</ul>";
?>

またはそれに影響を与える何か。これが役立つことを願っています。

于 2012-11-10T14:38:49.243 に答える