この記事の例では、thinkphp が列と記事の現在の位置を取得する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
今日はコラムページと記事ページの「現在地」を修正するなど、ブログの細部を改善しました。以前は列の数が少なかったため、ブラインド方式 (ホームページ -> 列名) を使用していましたが、現在は列が増え、徐々に第 2 レベルの列、第 3 レベルの列も追加されています。明らかに不適切なので、一度改善しました。それほど難しいことではありません。再帰関数を使用するだけです。
テスト結果は以下の図に示されています:
ソース ファイルの効果を表示します:
保護された関数 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 .= ' -> '.$uplevels['catname']."";
if($ext != '') $here .= ' -> '.$ext;
;
ここに $ を返します;
}
保護された関数 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;
}
ここに $ を返します;
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。