関数リファレンス/getCategoryList
提供: baserCMS公式ガイド
目次
説明
ブログのカテゴリーの一覧をリストタグで取得できます。
使い方
$this->Blog->getCategoryList( $categories , [$depth] , [$count] )
パラメータ
- $categories
- (配列) (必須)カテゴリーデータをCakePHPのモデル形式の配列で指定します。
- 初期値なし
- 先頭にスラッシュをつけた場合は、/app/webroot/ からのパスとなる。
- スラッシュをつけず相対パスとした場合は、/app/webroot/img/ からのパスとなる。
- テーマを使用している場合は、/app/webroot/themed/{テーマ名}/imgからのパスとなる。
- $depth
-
(数値)出力するカテゴリー一覧の階層の深さを指定します。TOPレベルの階層だけ欲しい場合は"1"
- 初期値:3
- $count
- (数値) 記事件数を表示するかどうかを指定します。
- 初期値:false
戻り値
- (string)
- HTMLタグ( ul>li>a>カテゴリ名)
用例
基本
コード
// 表示ブログ記事のカテゴリ一覧を第一階層のみ出力 if($this->Blog->isSingle()) { //詳細記事の時 $blog_id = $post['BlogPost']['blog_content_id']; //現在表示記事からブログIDを取得 } else { $blog_id = $posts[0]['BlogPost']['blog_content_id']; //記事一覧の1記事目から現在表示中のブログIDを取得 } $actionUrl = '/blog/blog/get_categories/'.$blog_id.'/'; $data = $this->requestAction($actionUrl); $categories = $data['categories']; echo $this->Blog->getCategoryList( $categories , 1 );
出力
<ul class="depth-1"> <li><a href="/blogslug/archives/category/category1">カテゴリ1</a></li> <li><a href="/blogslug/archives/category/category2">カテゴリ2</a></li> <li><a href="/blogslug/archives/category/category3">カテゴリ3</a></li> </ul>
応用
コード
<?php // 指定ブログのカテゴリ全て取得する $blog_id = 3; //取得したいカテゴリID $limit = 0; //取得件数: 0 = 全て $view_count = 1; //記事件数のカウント 0:を含めない / 1:含める $depth = 100; //取得する階層(最大まで取得しておく) $actionUrl = '/blog/blog/get_categories/'.$blog_id.'/'.$limit.'/'.$view_count.'/'.$depth; $data = $this->requestAction($actionUrl); $categories = $data['categories']; echo $this->Blog->getCategoryList( $categories , 3 , true ); //第2引数で表示階層を指定 ?>
出力
<ul class="depth-1"> <li><a href="/blogslug/archives/category/category1">カテゴリ1(3)</a></li> <li><a href="/blogslug/archives/category/category2">カテゴリ2(20)</a> <ul class="depth-2"> <li><a href="/blogslug/archives/category/category2/subcategory2-1">カテゴリ2-1(10)</a> <ul class="depth-3"> <li><a href="/blogslug/archives/category/category2/subcategory2-1/subcategory2-1-1">カテゴリ2-1-1(5)</a></li> <li><a href="/blogslug/archives/category/category2/subcategory2-1/subcategory2-1-2">カテゴリ2-1-2(5)</a></li> </ul> </li> </ul> </li> </ul>
注
※要望)$optionの指定なしのデフォルトで、表示ブログのカテゴリ一覧のリストが出力できるように
変更履歴
ソースファイル
baserCMS API Document » \BlogHelper http://api.basercms.net/classes/BlogHelper.html#method_getCategoryList
関連資料
baserCMS getCategoryListの使い方について | エス技研