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

Re: ブログの「最近の投稿」に投稿日時を表示させる。

tecking > Re: ブログの「最近の投稿」に投稿日時を表示させる。 @ 2016/5/18 1:44
Noriさん

「最近の投稿」にアイキャッチ画像を表示したいです。 の続きになりますが、アイキャッチも日付もということであれば、独自ヘルパーに汎用性を持たせた方がよいかもしれません。

/app/webroot/theme/{お使いのテーマディレクトリ}/Helper 内に FooHelper.php として下記を改めて作成してください( Helper ディレクトリがなければ新規作成)。

<?php

class FooHelper extends AppHelper {

	public function getPost($blogContentId, $postNo) {
		if (empty($blogContentId) || empty($postNo)) return;

		$BlogPost = ClassRegistry::init('Blog.BlogPost');
		$post = $BlogPost->find('first',
			array('conditions' => array(
				'BlogPost.no' => $postNo,
				'BlogPost.blog_content_id' => $blogContentId
			))
		);

		return $post;
	}
}


ウィジェットテンプレート内で下記のコードで記事1件分のデータを呼び出します。

<?php $myPost = $this->Foo->getPost($id, $recentEntry['BlogPost']['no']) ?>

これで変数 $myPost に記事1件分のデータが入ったので、あとは Blog ヘルパーの関数、たとえば

<?php $this->Blog->postDate($myPost) ?>

とすれば、記事の登録日が表示されるかとおもいます。アイキャッチ画像の表示なら

<?php $this->Blog->eyeCatch($myPost) ?>

ですね。

ちなみにこの方法は、記事タイトル1件表示ごとに当該記事データを再度呼び出しているので、パフォーマンス的にはあまりよろしくないです。本来であればウィジェットのコードも含めて全面的に書き直した方がいいのですが、できるだけ現状維持でカスタマイズできる方法として一例を記しました。
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

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