baserCMSのデフォルトのままだと、新着記事にNEWマークがつかないため、PHPをたたいてみる。
今回のトップページに表記する新着記事の一覧を書き出すテンプレートは「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>
ちょっと乱暴な代入式ですが、慣れてきたらもっと綺麗な式に書き換えると良いでしょう