touchBlock()

touchBlock() – 空のブロックを削除する設定の場合でも、ブロックを保持する

Synopsis

require_once 'HTML/Template/Sigma.php';

mixed HTML_Template_Sigma::touchBlock ( string $block )

Description

ときには、空のブロック (プレースホルダの置換が行われなかったもの) であってもそのまま残しておきたいこともあるでしょう。ショッピングカートを考えてみましょう。 カートが空の場合は、ユーザにメッセージを表示する必要があります。 中に何かが入っている場合は、その内容を表示する必要があります。 さあ、カートが空の場合のメッセージはいったいどこに表示すればいいのでしょうか? このメッセージをアプリケーション内に持ってしまうのは、あまり良い考えではありません。 というのも、顧客はこのようなメッセージをちょくちょく変更したがるものだからです。 空っぽのときと中身が入っているときでテンプレートファイルを変更するようにすると、 いつの日か両者のレイアウトにずれが生じてしまうことでしょう。

そこで、何もプレースホルダは含まずに "ショッピングカートが空です" といったメッセージだけを表示させるブロックが登場します。 このようなブロックでは置換が行われないので、このブロックは "空である" と判断され、デフォルト ($removeEmptyBlocks = true) では削除されます。これを避けるために、touchBlock() をコールします。

Parameter

string $block

ブロック名。

Return value

成功した場合に SIGMA_OK、失敗した場合にエラーオブジェクトを返します。

See

HTML_Template_Sigma::$removeEmptyBlocks も参照ください。

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応
SIGMA_BLOCK_NOT_FOUND Cannot find block '$block' ブロック $block がテンプレート内に存在しません ブロックの名前を調べ、必要なブロックをすべてテンプレートに追加したかどうかを調べます

Note

This function can not be called statically.