mixed HTML_Template_Sigma::touchBlock (
string $block
)
ときには、空のブロック (プレースホルダの置換が行われなかったもの) であってもそのまま残しておきたいこともあるでしょう。ショッピングカートを考えてみましょう。 カートが空の場合は、ユーザにメッセージを表示する必要があります。 中に何かが入っている場合は、その内容を表示する必要があります。 さあ、カートが空の場合のメッセージはいったいどこに表示すればいいのでしょうか? このメッセージをアプリケーション内に持ってしまうのは、あまり良い考えではありません。 というのも、顧客はこのようなメッセージをちょくちょく変更したがるものだからです。 空っぽのときと中身が入っているときでテンプレートファイルを変更するようにすると、 いつの日か両者のレイアウトにずれが生じてしまうことでしょう。
そこで、何もプレースホルダは含まずに "ショッピングカートが空です" といったメッセージだけを表示させるブロックが登場します。 このようなブロックでは置換が行われないので、このブロックは "空である" と判断され、デフォルト ($removeEmptyBlocks = true) では削除されます。これを避けるために、touchBlock() をコールします。
$block
ブロック名。
成功した場合に SIGMA_OK、失敗した場合にエラーオブジェクトを返します。
HTML_Template_Sigma::$removeEmptyBlocks
も参照ください。
エラーコード | エラーメッセージ | 原因 | 対応 |
---|---|---|---|
SIGMA_BLOCK_NOT_FOUND | Cannot find block '$block ' |
ブロック $block がテンプレート内に存在しません |
ブロックの名前を調べ、必要なブロックをすべてテンプレートに追加したかどうかを調べます |
This function can not be called statically.