ver4/関数リファレンス/getCategoryList
提供: baserCMS公式ガイド
[このコンテンツは内容調整中です]
目次
説明
ブログのカテゴリーの一覧をリストタグで取得できます。
使い方
$this->Blog->getCategoryList( [$categories] , $depth , $count , [$options] )
パラメータ
- (array) $categories
- カテゴリ一覧データ
- 初期値なし
- 先頭にスラッシュをつけた場合は、/app/webroot/ からのパスとなる。
- スラッシュをつけず相対パスとした場合は、/app/webroot/img/ からのパスとなる。
- テーマを使用している場合は、/app/webroot/themed/{テーマ名}/imgからのパスとなる。
- (int) $depth
-
出力するカテゴリー一覧の階層の深さを指定します。TOPレベルの階層だけ欲しい場合は"1"
- 初期値:3
- (boolean) $count
- 記事件数を表示するかどうかを指定します。
- 初期値:false
- (array) $options
- オプション
- 初期値 : array()
- -
link
: リンクをつけるかどうか(初期値 : true)
- ※ その他のオプションは、'link'オプションが'true'の場合に
- 生成されるa要素の属性設定となる。(HtmlHelper::link() を参照)
戻り値
- (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の使い方について | エス技研