replaceBlock()

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

概要

require_once 'HTML/Template/Sigma.php';

mixed HTML_Template_Sigma::replaceBlock (string $block, string $template [, boolean $keepContent = FALSE])

説明

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

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

パラメータ

string $block

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

string $template

新しい内容。

boolean $keepContent

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

返り値

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

例外・エラー

表 47-1PEAR_Error の値

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

参照

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

注意

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