この記事は2年以上前に書かれたものです。
情報が古い可能性があります。
情報が古い可能性があります。
書式
$blog->category( $post,[$options] )
$blog->category( ブログ記事のデータ,[オプション] )
(※[ ]で括っている引数は省略可能です。)
説明
記事が属するカテゴリ名を出力する。
ソース
baser/plugins/blog/views/helpers/blog.php
引数
| 引数名 | 説明 | 初期値 |
|---|---|---|
| $post | ブログ記事のデータを指定します。ブログ記事を出力するループ内では「$post」と記述すれば動作します。 | – |
| $options | オプションをPHPの連想配列で指定します。
|
array() |
表示例
デフォルトのテーマでは出力部分は以下のように書かれています。
baser/plugins/blog/views/blog/default/single.php
<!-- post detail -->
<div class="post">
<?php $blog->postContent($post) ?>
<div class="meta"><span>
<?php $blog->category($post) ?>
<?php $blog->postDate($post) ?>
<?php $blog->author($post) ?>
</span></div>
<?php $bcBaser->element('blog_tag', array('post' => $post)) ?>
</div>

baser/plugins/blog/views/blog/default/archives.php
<!-- list -->
<?php if(!empty($posts)): ?>
<?php foreach($posts as $post): ?>
<div class="post">
<h4 class="contents-head">
<?php $blog->postTitle($post) ?>
</h4>
<?php $blog->postContent($post,true,true) ?>
<div class="meta"><span>
<?php $blog->category($post) ?>
<?php $blog->postDate($post) ?>
<?php $blog->author($post) ?>
</span></div>
<?php $bcBaser->element('blog_tag', array('post' => $post)) ?>
</div>
<?php endforeach; ?>
<?php else: ?>
<p class="no-data">記事がありません。</p>
<?php endif; ?>

利用例
カテゴリ名を表示する
<?php $blog->category( $post ); ?>
リンクを非表示にしてカテゴリ名を表示する
<?php $blog->category( $post, array( 'link' => false ) ); ?>
$post[ ‘BlogCategory’ ]の利用
配列変数 $post[ ‘BlogCategory’ ] を使用するとさらにいろいろな値が取得できます。
これは取得系になるので、出力するには echo が必要になります。
配列変数 $post[ ‘BlogCategory’ ] の中身は以下のようにすると値の一覧がご覧になれます。
app/webroot/themed/{テーマ名}/blog/default/single.php
<?php echo '<pre>'; print_r( $post[ 'BlogCategory' ] ); echo '</pre>'; ?>
以下はカテゴリ「プレスリリース」の中身を記した例です。
Array
(
[id] => 1
[blog_content_id] => 1
[no] => 1
[name] => release
[title] => プレスリリース
[status] => 1
[parent_id] =>
[lft] => 1
[rght] => 2
[owner_id] =>
[created] => 2012-09-19 06:27:16
[modified] =>
)
カテゴリのIDを表示する
<?php echo $post[ 'BlogCategory' ][ 'id' ]; ?>
カテゴリの英語名を表示する
<?php echo $post[ 'BlogCategory' ][ 'name' ]; ?>