■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: テーマのカスタマイズのみでblog widgets blog_recent_entries でブログの投稿日時を表示させる。

kumatds > Re: テーマのカスタマイズのみでblog widgets blog_recent_entries でブログの投稿日時を表示させる。 @ 2012/11/5 10:52
動作検証結果の自己レスです。

goichi様からご提示いただいたコードですと、Blogを複数作成した時に正しく検索できなかったため、
下記のように検索条件にBlogのIDを追加して動作することが確認できました。
'conditions' => array(
	'BlogPost.blog_content_id'=>$id,
	'no'=>$recentEntry['BlogPost']['no']
),


上記をもって本スレッドを解決済みにさせていただきます。
ありがとうございました。

以下、コードの全文となります。
<?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(
				//BlogのIDと記事の「no」を検索条件とする。
				'conditions' => array(
					'BlogPost.blog_content_id'=>$id,
					'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>
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
18 人のユーザが現在オンラインです。 (18 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 18