個人用ツール

関数リファレンス/getCategoryList

提供: baserCMS公式ガイド

2015年7月4日 (土) 18:33時点におけるGaryuten (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内, 検索

説明

ブログのカテゴリーの一覧をリストタグで取得できます。

使い方

$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の使い方について | エス技研

類似の関数

getImg getImg getImg