Smarty3{php}{/php}


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

smarty3デフォルトでは{php}{/php}が使えない

$smarty->allow_php_tag = true;
を記述。
Smarty 3での{php}タグ使用時に発生するエラーの対
処法

smarty で日付け比較 新着などnew表示


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

smarty 日付け比較


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

$data に登録された日付けが入っているとして

(2010-12-07 09:01:03 とか)

$smarty.nowで今日の日付け

-24*60*60*7 で一週間まえの日付けを計算して

{$smarty.now-24*60*60*7}

比較する。

{if $data > $smarty.now-24*60*60*7|date_format:”%Y-%m-%d”}
NEW!
{else} 
{/if}
今日から 1週間前の日付けよりあとであればNEWで

一週間前より前の日付けなら表示しない。

$todays = date(“Y-m-d”);
$daysago = date(“Y-m-d”, strtotime(“$todays -7 day”));
$smarty->assign(“daysago”, $daysago);

テンプレート
$updatedaysに日付データが入ってるとして(2012-09-09とか)

{if $updatedays|date_format:”%Y-%m-%d” > $daysago|date_format:”%Y-%m-%d”}
new!{/if}

php smarty 文字列置き換え


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

phpと同じように replace を使う。

smarty 文字列置き換え

{$hage|replace:”置き換え文字列”:”置換する文字列”}

smarty マルチバイト文字制限


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

文字列制限もよく忘れるので
smarty マルチバイト文字制限

{$data|default:””|mb_strimwidth:0:10:”…”:’EUC-JP’|escape:”html”|default:””}
一文字2バイトで(文字コードで異なる場合有り)5文字以上は…になる

smarty 小数点以下表示


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

小数点以下の数値を表示
{$data|number_format:ここに何桁までかいれる}

小数点以下2桁の場合
$data = 123.4567; として
{$data|number_format:2} は
123.45

小数点以下3桁の場合 は
{$data|number_format:3}
123.456 と表示される

$dataが10の場合
{$data|number_format:2} は
10.00 と表示される。

smarty デバック


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

smartyデバック方法。何故かよく忘れる。
smarty マニュアル{debug}
デフォルトはjavascript
{debug}

html
{debug output=”html”}
だ。
Smarty を使った開発でデバッグを行う 4 つの方法

php smarty 変数連結


Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/patareru/www/patareru/wp-content/plugins/ultimate_ga_1.6.0/ultimate_ga_1.6.0.php on line 524

変数を連結したい場合
{assign var=abc value=”`$abc1 `  ` $abc2`”}
変数をバッククォーテーション ` で囲む
(キーボードは shift + @)で連結できる。

ダブルクォート内に埋め込まれた変数