こんにちは(^^
上手く動かなかったらすみません、参考までに書き込んでいます。
(他に良い方法があるような気もしますが、思いついたのは以下の様なものです。)
まず、テーマ内でブログのウィジェット部分の表示を変更できるよう、
以下のフォルダ構造を作ります。
/app/webroot/themed/テーマ名/blog/views/elements/widgets/
この「widgets」フォルダに
今回編集するファイル「blog_recent_entries.php」を作成します。
(/baser/plugins/blog/views/elements/widgets/からコピーします)
これで下準備が整ったとおもいますので、
ファイルを編集します。
まず、今回はviewファイルからDBを利用できるようにしなくてはなりません。。。
(MVCの概念からはちょっと外れますが、そこは目をつむって頂いて・・・。)
そこで、記事のリストを表示するループ処理の前段階で、
$blogModel = ClassRegistry::init('BlogPost');
と書いておきます。これでモデルが使えます。
次にDBを検索しますが、今回、ループ処理内の各記事のデータが「no」を持っていますので、
これを検索条件にしたら良いと思います。
$blogData = $blogModel->find('first',array(
'conditions' => array(
'no'=>$recentEntry['BlogPost']['no']
),
'feild' => array('posts_date')
));
あとは取得した情報を出力します。
echo $blogData['BlogPost']['posts_date'];
参考までに上の追記をした「blog_recent_entries.php」全文を記載しておきます(^^
上手く動かなかった申し訳ないのですが、参考までにご覧いただければと思います。
<?php
/* SVN FILE: $Id$ */
/**
* [PUBLISH] ブログ最近の投稿
*
* PHP versions 5
*
* baserCMS : Based Website Development Project <http://basercms.net>
* Copyright 2008 - 2012, baserCMS Users Community <http://sites.google.com/site/baserusers/>
*
* @copyright Copyright 2008 - 2012, baserCMS Users Community
* @link http://basercms.net baserCMS Project
* @package baser.plugins.blog.views
* @since baserCMS v 0.1.0
* @version $Revision$
* @modifiedby $LastChangedBy$
* @lastmodified $Date$
* @license http://basercms.net/license/index.html
*/
if(!isset($count)) {
$count = 5;
}
if(isset($blogContent)){
$id = $blogContent['BlogContent']['id'];
}else{
$id = $blog_content_id;
}
$data = $this->requestAction('/blog/blog/get_recent_entries/'.$id.'/'.$count);
$recentEntries = $data['recentEntries'];
$blogContent = $data['blogContent'];
$baseCurrentUrl = $blogContent['BlogContent']['name'].'/archives/';
/* 追記 */
//ブログ記事のDBをViewから利用できるようにしておく。
$blogModel = ClassRegistry::init('BlogPost');
?>
<div class="widget widget-blog-recent-entries widget-blog-recent-entries-<?php echo $id ?> blog-widget">
<?php if($name && $use_title): ?>
<h2><?php echo $name ?></h2>
<?php endif ?>
<?php if($recentEntries): ?>
<ul>
<?php foreach($recentEntries as $recentEntry): ?>
<?php if($this->params['url']['url'] == $baseCurrentUrl.$recentEntry['BlogPost']['no']): ?>
<?php $class = ' class="current"' ?>
<?php else: ?>
<?php $class = '' ?>
<?php endif ?>
<li<?php echo $class ?>>
<?php
/* 追記 */
//検索を行う
$blogData = $blogModel->find('first',array(
//記事の「no」が分かっているので、とりあえずそれを条件にする。
'conditions' => array(
'no'=>$recentEntry['BlogPost']['no']
),
//今回必要な投稿日時のみを取得する。
'feild' => array('posts_date')
));
//とりあえず出力する。(適当に整形してみてください)
echo $blogData['BlogPost']['posts_date'];
?>
<?php $bcBaser->link($recentEntry['BlogPost']['name'],array('admin'=>false,'plugin'=>'','controller'=>$blogContent['BlogContent']['name'],'action'=>'archives',$recentEntry['BlogPost']['no'])) ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>