新着マーク表示プラグイン
このプラグインについて
与えられた日付が、最近の日付かどうか判別します。これを利用して、記事に新着マークを表示したりすることができます。
広告
ダウンロード
以下のリンクからプラグインをダウンロードできます。(GitHubに遷移します。)
GitHubの緑ボタン「Code」内にある「Download ZIP」からすべてのプラグインをダウンロードできるので、解凍後に作成されるフォルダの中から smarty
フォルダ内の recently
フォルダを入手してください。
導入方法
ファイルのアップロード
modifier.recently.php
を libs/smarty/plugins/
ディレクトリ内にアスキーモードでアップロードします。
テンプレートにある日時が格納された任意の変数に recently
という修飾子を追加すると、24時間以内の日時かどうかチェックされます。
パラメータ
修飾子にはパラメータを1~2つ設定することができ、それぞれ「期間」と「日時のタイプ」になります。
具体的には、条件分岐と合わせて以下のように指定します。
<!--{if $datetime|recently:7:'day'}-->New!<!--{/if}-->
$datetime
には 2010-10-13 13:30:15
のような日時が格納されている場合、その日時が現在から7日以内かどうかをチェックします。また、上の例では7日以内なら New!
という文字が表示されます。
また、例えば
<!--{if $datetime|recently:3:'day'}-->New!<!--{/if}-->
このように設定すると、日時が3日以内かどうかチェックされます。期間は任意の数値を指定することができます。期間を省略すると 1
が指定されたとみなされます。
また、日時のタイプには day
・hour
・minute
のいずれかを指定することができます。日時のタイプを省略すると day
が指定されたとみなされます。それぞれの意味は以下のとおりです。
日時のタイプ | 意味 |
---|---|
day |
期間を日付と解釈する |
hour |
期間を時間と解釈する |
minute |
期間を分と解釈する |
second |
期間を秒と解釈する |
つまり、
<!--{if $datetime|recently:10:'hour'}-->New!<!--{/if}-->
このように指定すると、10時間以内かどうかチェックされます。
導入例
初期ページに表示されるエントリー一覧のうち、3日以内に投稿されたものに新着マークを表示したい場合、templates/internals/default/default.html
の90行目あたりにある
<!--{if $entry_tags[$entry.id]}-->
<li>タグ:<!--{foreach from=$entry_tags[$entry.id]|smarty:nodefaults item='entry_tag' name='loop'}-->~略~<!--{/foreach}--></li>
<!--{/if}-->
この直後に、一例ですが以下のコードを追加します。
<li><!--{if $entry.datetime|recently:3:'day'}--><em>New!</em><!--{/if}--></li>
$entry.datetime
には記事の日時が格納されているので、これを元に判断しています。どの変数に何のデータが格納されているかは、データベース構成の解説を参考にしてください。
削除方法
このプラグインは、以下の手順で削除できます。
ファイルの編集
テンプレートに追加したコードを削除します。
ファイルの削除
以下のファイルを削除します。
libs/smarty/plugins/modifier.recently.php
更新履歴
- 最新版との差分ファイルを一覧表示できます。
- 使用している新着マーク表示プラグインのバージョンを入力してください。
- 更新内容の詳細は、以下の更新履歴を確認してください。
- 2010/10/13 Ver 1.0.0
-
正式版を公開しました。