Smarty タイムスタンプを日付に整形

PHP

Smarty タイムスタンプを日付に整形

Smartyを利用すると、こんなこともできます。
タイムスタンプで持っているデータを修飾子(Smarty変数の後の|の後につける文字)をつけるだけで、日付形式に変換します。

 {$startDate|date_format:"%Y/%m/%d"}

参考:Smarty公式ページ 日付
http://www.smarty.net/docsv2/ja/tips.dates.tpl

上記参考サイトによると、Smaryを利用するならなるべくタイムスタンプで日付をもっていた方がよい、ということです。
テンプレート上で、日付の比較もできますもんね。

Smarty テンプレート内でPHPを実行する

PHP

Smartyはテンプレートファイルとプログラムを分離できるのがよいところですが、時にはテンプレートファイル内で、プログラムを実行したい場合もあるかと思います。

そんな時は、次のようにSmartyタグを書けば、PHPが実行できます。

 {php}    {/php}
 
 例
 {php}
   // PHP スクリプトをテンプレートから直接インクルードします
    include('/path/to/display_weather.php');
 {/php}

http://www.smarty.net/manual/ja/language.function.php.php

Smarty 改行を表示

PHP

Smarty 改行を
タグに変換して表示

テキスト入力を行うときに、改行は\nですが、これをHTMLで出力する際に、Smartyを使えば一発で
に変換してくれます。
nl2brという修飾子を次のように使います。

 {$data|nl2br}

escape修飾子と一緒に利用したい場合は、次の順番で使いましょう。

 {$data|escape|nl2br}

この順番が逆だと…
タグがescapeされてしまうんです。

  • aaaa — sss {2016-10-11 (火) 13:19:19}

Smarty 文字列の中身を検索する

PHP

PHP Smarty 文字列の中身を検索する

下記の方法を使えば、文字列の中身を検索できます。
また、現在のURLの中身も検索する事ができます!

 $a = 'abc';
 {if $a | strstr: 'ab'}
      echo 'ok';
 {/if}

Smarty 現在選択しているURLを取得

PHP

Smarty 現在選択しているURLを取得

 {$smarty.server.REQUEST_URI}

で、現在のURLがSmartyで取得できます。

ちなみに、プロトコル(http://)と、ドメイン名は取れません。

  • zzzz — zzz {2016-11-10 (木) 12:15:53}
  • http:/www.yahoo.co.jp — aaa {2016-11-10 (木) 12:17:06}