Thinkphp がパンくずリスト ナビゲーション (現在の場所) を実装する例 Sharing_PHP チュートリアル
以前は列が少なかったので、ブラインド方式 (ホームページ -> 列名) を使用していましたが、現在は列が増え、徐々に第 2 レベルの列、第 3 レベルの列も追加されています。明らかにこの方法は適切ではないので、ちょっと改良しました。それほど難しいことではありません。再帰関数を使用するだけです。
使用例:
//現在の位置 - 最初のパラメータ catid は現在の列の ID、2 番目のパラメータはその列のタイトルです。記事では、現在の列を呼び出します。位置については、2 番目のパラメータを空のままにすることができます。
$this->assign("now_here",$this->now_here($catid,$res['title']));
実装コード:
//説明します。列テーブル カテゴリの catid は列 ID、catname は列名、asmenu は列の親の ID、それがトップレベルの列の場合、asmenu は 0 です。
保護された関数 now_here($catid,$ext=''){
$cat = M("カテゴリ");
$here = 'ホームページ';
$uplevels = $cat->field("catid,catname,asmenu")->where("catid=$catid")->find();
if($uplevels ['asmenu'] != 0)
$here .= $this->get_up_levels($uplevels['asmenu']);
$here .= ' -> a href="/cat_'.$ uplevels['catid'].'.html">'.$uplevels['catname']."";
if($ext != '') $here .= ' -> ' .$ext;
return $here;
}
保護関数 get_up_levels($id){
$cat = M("カテゴリ");
$here = '';
$uplevels = $cat->field(" catid,catname,asmenu")->where("catid=$id")->find();
$here .= ' -> '.$uplevels['catname']."";
if($uplevels['asmenu'] != 0){
$here = $this-> ;get_up_levels($uplevels['asmenu']).$here;
}
return $here;
}
添付ファイル: 別の例
class IndexAction extends Action {
public function cat() {
load('extend'); // extend.php ファイルをロードします
// すべてのカテゴリを取り出します
$Catalog = M('Categories')->select();
$nav_array = array();
$this->getNavCrumbs($Categories, 2120, $nav_array);
dump($nav_array);
// すべてのカテゴリを取り出します (そしてそれらをツリーに構築します)
// $CategoryTree = list_to_tree($Categories, 'categories_id', 'parent_id');
}
/**
* カテゴリ ID に基づいてパンくずリストを逆方向に構築します
* @param $Categories すべてのカテゴリで構成される配列
* @param $categoryId 上向きトレースに使用されるカテゴリ ID
* @param $navCrumbs 結果の保存に使用される配列、渡すだけ空の配列
*/
public function getNavCrumbs($Categories, $categoryId, &$navCrumbs) {
$category = list_search( $Categories, array('categories_id'=>$categoryId) ) ;
$category = $category[0];
$parent_id = $category['parent_id'];
$categories_id = $category['categories_id'];
if( $parent_id != 0 ) { // 0 はルート ノード ID (ルート ノード ID) です
$this->getNavCrumbs($Categories, $parent_id, $navCrumbs);
}
$navCrumbs[$categories_id] = $category;
}
}

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件がますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

ThinkPHP6 と Swoole をベースとした RPC サービスがファイル転送機能を実装 はじめに: インターネットの発展に伴い、ファイル転送は私たちの日常業務においてますます重要になってきています。この記事では、ファイル転送の効率化とセキュリティを向上させるために、ThinkPHP6とSwooleをベースとしたファイル転送機能を実現するRPCサービスの具体的な実装方法を紹介します。 WebフレームワークとしてThinkPHP6を使用し、SwooleのRPC機能を利用してサーバー間のファイル転送を実現します。 1. 環境基準
