replaceBlock()

replaceBlock() – 既存のブロックを新しい内容で置き換える

Synopsis

require_once 'HTML/Template/Sigma.php';

mixed HTML_Template_Sigma::replaceBlock ( string $block , string $template , boolean $keepContent = = false )

Description

既存のブロックを新しい内容で置き換えます。 この関数は、テンプレート内のブロックおよびそこに含まれるすべてのブロックを 新しいブロックで置き換えます。 つまり、テンプレートを動的に変更できるということです。

Sigma は入れ子状のブロックの状態を判断し、 どのブロックがどのブロックの配下にあるかを認識します。 この入れ子情報により、API を短くシンプルにできます。 ブロックを置換するということは、単に入れ子情報を更新する (比較的時間のかかる作業です) というだけではありません。 テンプレートの見た目が変わっても驚かないようにしましょう。

Parameter

string $block

置換するブロックの名前。

string $template

新しい内容。

boolean $keepContent

TRUE の場合は、パースしたブロックの内容を保持します。

Return value

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

Throws

Possible PEAR_Error values
エラーコード エラーメッセージ 原因 対応
SIGMA_BLOCK_NOT_FOUND Cannot find block '$block' ブロック $block がテンプレート内に存在しません ブロックの名前を調べ、必要なブロックをすべてテンプレートに追加したかどうかを調べます
SIGMA_BLOCK_DUPLICATE The 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) テンプレート関数のパラメータが間違っています テンプレート関数の定義を修正します。 クォートのしかた に注意してください

Note

This function can not be called statically.