0 レビュー
3 回答
php-インクルードナビゲーションを使用して現在のページを選択する方法
ページの冗長性を制限するためにphpインクルードを使用しています。ナビゲーションがheader.phpファイルから呼び出されたときに、現在のページをホームボタンの特定の色で選択するにはどうすればよいですか。>
「アクティブ」クラスをhome.phpアイテムに追加し、スタイルを追加して見た目が異なると言った場合、それはすべてのページで発生します。そのため、インクルードを使用しています。そもそも、ナビゲーションに1つのheader.phpファイルを含めるにはどうすればよいですか。これにより、各ページで、現在のページをナビゲーションに反映させることができますか?
これはheader.phpファイルのnav部分です
<ul>
<li><a href="index.php">About Us</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
<li><a href="news.php">News</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>
これは、header.phpファイルが含まれているindex.phpファイルです
<?php
include("includes/header.php");
?>
<div class="span-8" id="welcome">
<p>Lorem ipsum</p>
</div>
<div class="span-16 last" id="slideshow">
<img src="images/introImage1.png" alt="fountain">
<img src="images/introImage2.png" alt="bench">
<img src="images/introImage3.png" alt="bridge">
</div>
<?php
include("includes/footer.php");
?>
わからない
0
レビュー
答え :
解決策:
これを試してください:
<ul>
<?php
$pages = array('index.php' => 'About Us', 'portfolio.php' => 'Portfolio', 'news.php' => 'News', 'contact.php' => 'Contact');
foreach($pages as $url => $title) {
$li = '<li ';
if($_SERVER[ 'PHP_SELF' ] == $url) {
$li .= 'class="active"';
}
$li .= '><a href="' . $url . '">' . $title . '</a></li>';
echo $li;
}
?>
</ul>
わからない
0
レビュー
答え :
解決策:
もう1つのオプションは、 body
タグに対して属性を設定し、一致したペアを使用して任意の数値のスタイルを変更することです。要素の。
つまり、メイン(ホーム)ページには次のようなものがあります:
ホーム
会社概要
次に、CSS内に次のものがあります:
body #home a.home、body #about a.about {
color:#999; background-color:#000; }
わからない
0
レビュー
答え :
解決策:
さらに別のオプションは、実際のページ内に単一のCSSステートメントを含めることです。
<style type="text/css">
a[href="<?php echo basename( $_SERVER['PHP_SELF'] ); ?>"] ,
a[href="<?php echo $_SERVER['PHP_SELF']; ?>"] {
/* Styles for Current Page Links */ }
</style>
もちろん、それはブラウザがそのCSSセレクタを使用できるかどうかに依存します。
また、ファイルへのすべてのリンク(完全なURIを含む)がカバーされていることを完全に確認したい場合は、次のセレクターも含めてください。
a[href="http<?php
echo ( $_SERVER['HTTPS'] ? 's' : '' ).'://'.
$_SERVER['HTTP_HOST'].(
( $_SERVER['HTTPS'] && $_SERVER['SERVER_PORT']!=443 )
|| ( !$_SERVER['HTTPS'] && $_SERVER['SERVER_PORT']!=80 ) ?
':'.$_SERVER['SERVER_PORT'] : '' ).
$_SERVER['PHP_SELF']; ?>"]
更新:使用するPHP変数を修正しました。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。