ヒント & 裏ワザ (付録) - PHPプロ!マニュアル

Smartyマニュアル

付録 - ヒント & 裏ワザ

第 18章ヒント & 裏ワザ

空白の変数の扱い

テーブルの背景が適切に機能するように   を出力する場合のように、空白の変数が何も出力しない代わりに デフォルトの値を出力したい場合があるかもしれません。 そのために多くの人は {if} {if}ステートメントを使用すると思いますが、Smartyによる変数の修飾子 default を使った簡略な方法があります。

注意: "Undefined variable" というエラーが表示されるのは、 PHP の error_reporting()E_ALL になっており、変数が Smarty に代入されていない場合です。

例 18-1. 変数が空白の時、  を出力する

{* 長ったらしい方法 *}
{if $title eq ''}
    
{else}
   {$title}
{/if}

{* 簡潔な方法 *}
{$title|default:' '}

default 修飾子および 変数のデフォルトの扱い も参照してください。



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)