addBlock()

addBlock() -- ブロックをテンプレートに追加する

概要

require_once 'HTML/Template/Sigma.php';

mixed HTML_Template_Sigma::addBlock (string $placeholder, string $block, string $template)

説明

ブロックをテンプレートに追加し、変数プレースホルダをブロックプレースホルダに変更します。 つまり、新しいブロックが、テンプレート内で変数プレースホルダがあった位置に統合されるということです。 変数プレースホルダは削除され、新しいブロックが、 まるでもとのテンプレートの中にあるかのように振舞います。

ブロックの中身は <!-- BEGIN blockname --> で始まってはならず、また <!-- END blockname --> で終わってもいけません。 そのような場合はエラーがスローされます。

パラメータ

string $placeholder

変数プレースホルダの名前。テンプレート内で一意である必要があります。

string $block

追加するブロックの名前。

string $template

ブロックの内容。

返り値

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

参照

HTML_Template_Sigma::addBlockfile() も参照ください。

例外・エラー

表 47-1PEAR_Error の値

エラーコードエラーメッセージ原因対応
SIGMA_BLOCK_EXISTSBlock '$block' already existsテンプレート内にすでに存在する名前でブロックを追加しようとしました新しいブロックの名前に別のものを使用してください
SIGMA_PLACEHOLDER_NOT_FOUNDVariable placeholder '$placeholder' not foundテンプレート内に、新しいブロックをいれるプレースホルダがありませんプレースホルダ名を調べます
SIGMA_PLACEHOLDER_DUPLICATEPlaceholder '$placeholder' should be unique, found in multiple blocks新しいブロックをいれるプレースホルダは、一箇所だけでなければなりませんプレースホルダ名を調べ、異なるプレースホルダを使用します
SIGMA_BLOCK_DUPLICATEThe name of a block must be unique within a template. Block 'blockname' found twice.追加するブロックがサブブロックを含んでおり、それが既存の名前と重複しています$template を調べ、ブロック名を別のものに変更します
SIGMA_CALLBACK_SYNTAX_ERROR Cannot parse template function: (error description) テンプレート関数のパラメータが間違っています テンプレート関数の定義を修正します。 クォートのしかた に注意してください

注意

この関数は、スタティックにコールする ことはできません。