検索
ホームページPHPフレームワークThinkPHPthinkphp ナビゲーション バーの現在のページを確認する方法

Web サイトを開発する場合、多くの場合、ユーザーが Web サイトのさまざまなページにアクセスしやすくするためにナビゲーション バーを追加する必要があります。 PHP フレームワーク ThinkPHP を使用して開発する場合、現在のページがどのナビゲーション バーに属しているかをどのように判断すればよいでしょうか?この記事では、ThinkPHP ナビゲーション バーの実装方法と現在のページを確認する方法を紹介します。

1. ThinkPHP ナビゲーション バーの実装方法

ThinkPHP では、通常、パブリック テンプレート メソッドを使用してナビゲーション バーを実装します。具体的な手順は次のとおりです:

1. まず、Web サイトのナビゲーション バーコードを保存するためのパブリック テンプレート ファイル (header.html など) を作成します。このファイルでは、必要に応じてナビゲーション バーのスタイルとレイアウトをカスタマイズできます。

2. 各サブページで公開テンプレート ファイルを参照し、ナビゲーション バーコードをサブページに埋め込みます。 ThinkPHP フレームワークでは、次のコードを使用してパブリック テンプレート ファイルを参照します。

<?php include(THEME_PATH . 'header.html'); ?>

ここで、THEME_PATH はユーザー定義のテーマ パスです。

3. パブリック テンプレート ファイルでは、PHP コードを使用して、現在のページが属するナビゲーション バーを決定する必要があります。通常、$_SERVER['REQUEST_URI'] 変数を使用して現在のページの URL アドレスを取得し、次に if ステートメントを使用して現在のページが属するナビゲーション バーを決定します。

たとえば、次のコードは、現在のページがホームページ ナビゲーション バーに属しているかどうかを判断できます。

<?php if(strpos($_SERVER['REQUEST_URI'], 'index/index') !== false) {?>
    <li class="active"><a href="/index.php/Home/Index/">首页</a></li>
<?php } else { ?>
    <li><a href="/index.php/Home/Index/">首页</a></li>
<?php } ?>

上記のコードでは、strpos() 関数を使用して、URL アドレスが現在のページの「index/index」文字列が含まれている場合、それは現在のページがホームページ ナビゲーション バーに属していることを意味し、 タグ。

2. 現在のページが属するナビゲーション バーを決定する方法

前のステップでは、if ステートメントを使用して現在のページが属するナビゲーション バーを決定する方法を紹介しました。所属しています。しかし、実際の開発では、この方法では、URL アドレスにパラメータが含まれている場合、現在のページが属するナビゲーション バーをどのように決定するかなどの問題が発生する可能性があります。この時点で、よりインテリジェントな方法を使用して問題を解決する必要があります。

ThinkPHP フレームワークでは、ナビゲーション バー配列を定義し、現在のコントローラーと操作メソッドを決定することにより、現在のページが属するナビゲーション バーをインテリジェントに決定できます。具体的な手順は次のとおりです:

1. 構成ファイルでナビゲーション バー配列を定義します。例:

//定义导航栏数组
'NAV_LIST' => array(
    '首页' => array('Index', 'index'),
    '新闻' => array('News', 'index'),
    '产品' => array('Product', 'index'),
    '联系我们' => array('Contact', 'index'),
),

上記の配列では、キーはナビゲーション バーの名前を表し、値はコントローラーと操作メソッドの名前を含む配列です。

2. パブリック テンプレート ファイルで、foreach ループを使用してナビゲーション バー配列を走査し、if ステートメントを使用して現在のコントローラーと操作メソッドがナビゲーション内の値と同じかどうかを判断します。バー配列。それらが同じ場合は、ナビゲーション バーに active 属性を追加して、現在のページがそれに属していることを示します。

たとえば、次のコードは、現在のページが属するナビゲーション バーをインテリジェントに決定できます。

<?php foreach(C('NAV_LIST') as $key=>$vo){ ?>
    <?php $active = strtolower(CONTROLLER_NAME) == strtolower($vo[0]) && strtolower(ACTION_NAME) == strtolower($vo[1]) ? 'class=active' : ''; ?>
    <li <?php echo $active;?>><a href="<?php echo U($vo[0].'/'.$vo[1]);?>"><?php echo $key;?></a></li>
<?php } ?>

上記のコードでは、foreach ループを使用してナビゲーション バー配列を走査します。次に、if ステートメントを使用して、現在のコントローラーと操作メソッドがナビゲーション バー配列の値と同じかどうかを判断します。それらが同じ場合は、

  • タグに active 属性を追加して、現在のページがそのタグに属していることを示します。このうち、strto lower()関数は、大文字小文字の問題による判断ミスを避けるために、大文字を小文字に変換するために使用されます。

    要約すると、if ステートメントを使用して現在のページがどのナビゲーション バーに属するかを決定するか、インテリジェントな判断方法を使用するかにかかわらず、ThinkPHP フレームワークの関連知識を明確にする必要があります。この記事の紹介が、ThinkPHP フレームワークを使用して Web サイトを開発する際の皆様のお役に立てれば幸いです。

  • 以上がthinkphp ナビゲーション バーの現在のページを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    ThinkPHPの組み込みテストフレームワークの主な機能は何ですか?ThinkPHPの組み込みテストフレームワークの主な機能は何ですか?Mar 18, 2025 pm 05:01 PM

    この記事では、ThinkPHPの組み込みテストフレームワークについて説明し、ユニットや統合テストなどの主要な機能と、早期のバグ検出とコード品質の向上を通じてアプリケーションの信頼性を高める方法について強調しています。

    リアルタイムの株式市場データフィードを構築するためにThinkPhpを使用する方法は?リアルタイムの株式市場データフィードを構築するためにThinkPhpを使用する方法は?Mar 18, 2025 pm 04:57 PM

    記事では、リアルタイムの株式市場データフィードにThinkPhpを使用して、セットアップ、データの正確性、最適化、セキュリティ対策に焦点を当てて説明します。

    サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか?サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか?Mar 18, 2025 pm 04:54 PM

    この記事では、パフォーマンスの最適化、ステートレス設計、セキュリティに焦点を当てたサーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項について説明します。コスト効率やスケーラビリティなどの利点を強調しますが、課題にも対処します

    ThinkPhpマイクロサービスでサービスの発見と負荷分散を実装する方法は?ThinkPhpマイクロサービスでサービスの発見と負荷分散を実装する方法は?Mar 18, 2025 pm 04:51 PM

    この記事では、セットアップ、ベストプラクティス、統合方法、および推奨ツールに焦点を当てたThinkPhpマイクロサービスにサービスの発見と負荷分散の実装について説明します。[159文字]。

    ThinkPhpの依存関係噴射コンテナの高度な機能は何ですか?ThinkPhpの依存関係噴射コンテナの高度な機能は何ですか?Mar 18, 2025 pm 04:50 PM

    ThinkPHPのIOCコンテナは、PHPアプリで効率的な依存関係管理のための怠zyなロード、コンテキストバインディング、メソッドインジェクションなどの高度な機能を提供します。

    リアルタイムのコラボレーションツールを構築するためにThinkPhpを使用する方法は?リアルタイムのコラボレーションツールを構築するためにThinkPhpを使用する方法は?Mar 18, 2025 pm 04:49 PM

    この記事では、ThinkPhpを使用してリアルタイムのコラボレーションツールを構築し、セットアップ、Websocket統合、セキュリティベストプラクティスに焦点を当てて説明します。

    SaaSアプリケーションを構築するためにThinkPhpを使用することの主な利点は何ですか?SaaSアプリケーションを構築するためにThinkPhpを使用することの主な利点は何ですか?Mar 18, 2025 pm 04:46 PM

    ThinkPhpは、軽量のデザイン、MVCアーキテクチャ、および拡張性を備えたSaaSアプリに利益をもたらします。スケーラビリティを向上させ、開発を速め、さまざまな機能を通じてセキュリティを改善します。

    ThinkPhpとRabbitmqを使用して分散タスクキューシステムを構築する方法は?ThinkPhpとRabbitmqを使用して分散タスクキューシステムを構築する方法は?Mar 18, 2025 pm 04:45 PM

    この記事では、ThinkPhpとRabbitMQを使用して分散タスクキューシステムの構築を概説し、インストール、構成、タスク管理、およびスケーラビリティに焦点を当てています。重要な問題には、Immedのような一般的な落とし穴を避けるための高可用性の確保が含まれます

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

    WebStorm Mac版

    WebStorm Mac版

    便利なJavaScript開発ツール

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター