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 ステートメントを使用して、現在のコントローラーと操作メソッドがナビゲーション バー配列の値と同じかどうかを判断します。それらが同じ場合は、
要約すると、if ステートメントを使用して現在のページがどのナビゲーション バーに属するかを決定するか、インテリジェントな判断方法を使用するかにかかわらず、ThinkPHP フレームワークの関連知識を明確にする必要があります。この記事の紹介が、ThinkPHP フレームワークを使用して Web サイトを開発する際の皆様のお役に立てれば幸いです。
以上がthinkphp ナビゲーション バーの現在のページを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版
便利なJavaScript開発ツール

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
