replaceBlock()

replaceBlock()

replaceBlock() -- Replaces an existing block with new content.

Synopsis

require_once 'HTML/Template/Sigma.php';

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

Description

Replaces an existing block with new content. This function will replace a block of the template and all blocks contained in it and add a new block instead. This means you can dynamically change your template.

Sigma analyses the way you've nested blocks and knows which block belongs into another block. This nesting information helps to make the API short and simple. Replacing blocks does not only mean that Sigma has to update the nesting information (relatively time consuming task) but you have to make sure that you do not get confused due to the template change yourself.

Parameter

string $block

name of a block to replace

string $template

new content

boolean $keepContent

TRUE if the parsed contents of the block should be kept

Return value

return SIGMA_OK on success, error object on failure

Throws

Table 41-1. Possible PEAR_Error values

Error codeError messageReasonSolution
SIGMA_BLOCK_NOT_FOUNDCannot find block '$block'There is no block $block in the templateCheck the block name spelling, check whether you added all the necessary blocks to the template
SIGMA_BLOCK_DUPLICATEThe name of a block must be unique within a template. Block 'blockname' found twice.The new block contains a subblock that has the same name as the existing oneCheck the $template and rename the block to something else
SIGMA_CALLBACK_SYNTAX_ERROR Cannot parse template function: (error description) Bogus syntax for template function parameters. Fix the template function definition, pay special attention to quoting rules.

See

see HTML_Template_Sigma::replaceBlockfile(), HTML_Template_Sigma::addBlock()

Note

This function can not be called statically.