新着情報

新着記事にNEWアイコンを表示させる

baserCMSのデフォルトのままだと、新着記事にNEWマークがつかないため、PHPをたたいてみる。

NEW!の表記

今回のトップページに表記する新着記事の一覧を書き出すテンプレートは「posts.php」

baserCMSに不慣れなうちは、それぞれのPHPファイルがどこにあるのかわかるまでに時間がかかります。
多くの場合はbaserCMSをインストールしたディレクトリ直下の「lib」ディレクトリ内にある「Baser」ディレクトリ内にあります。
このディレクトリ内から必要なPHPファイルをコピーし現在のapp/webroot/theme内の自分のテーマ内に保存してしまえば、そちらのPHPファイルが優先されます。

今回の場合はbaserCMSをインストールしたディレクトリ直下の次の場所より「post.php」をコピーします。
lib/Plugins/Blog/View/Blog/default/posts.php
 そのコピーしたものを次の場所に配置します。
/app/webroot/theme/テーマ名/Blog/default/posts.php

このコピーした「post.php」の29行目の
<p class="title"><?php $this->Blog->postTitle($post) ?>の</p>の前に簡単な代入式とif文を追加するだけでOKです。

<span class="new_s">
 <?php $entry = $this->Blog->getPostDate($post, 'U') ?>?>
/* $entryにブログ作成日時を代入 */
 <?php $today=date('U'); ?>
/* $todayに現在の日時を代入 */
 <?php $days = $today - $entry; ?>
/* 現在の日時から作成日時を引いた値を$daysに代入 */
 <?php if( $days < 86400 ): ?>/* もしその値が86400以下ならNEW!と表記 */
 <?php echo 'New!'; ?>
 <?php endif ?>
</span>

ちょっと乱暴な代入式ですが、慣れてきたらもっと綺麗な式に書き換えると良いでしょう

  2016/02/15   katokaisya
≪ 簡易レスポンシブル対応  |  baserCMS ver4系にアップデート ≫