addBlock()

addBlock() – Adds a block to the template

Synopsis

require_once 'HTML/Template/Sigma.php';

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

Description

Adds a block to the template changing a variable placeholder to a block placeholder. This means that a new block will be integrated into the template in place of a variable placeholder. The variable placeholder will be removed and the new block will behave in the same way as if it was inside the original template.

The block content must not start with <!-- BEGIN blockname --> and end with <!-- END blockname -->, if it does the error will be thrown.

Parameter

string $placeholder

name of the variable placeholder, the name must be unique within the template.

string $block

name of the block to be added

string $template

content of the block

Return value

return SIGMA_OK on success, error object on failure

Throws

Possible PEAR_Error values
Error code Error message Reason Solution
SIGMA_BLOCK_EXISTS Block '$block' already exists Tried to add a block with a name that is already present in the template Choose a different name for a new block
SIGMA_PLACEHOLDER_NOT_FOUND Variable placeholder '$placeholder' not found There is no placeholder to replace by a new block in the template Check the spelling of the placeholder name
SIGMA_PLACEHOLDER_DUPLICATE Placeholder '$placeholder' should be unique, found in multiple blocks A placeholder to be replaced by a new block should appear only in one place Check the spelling of the placeholder name, choose a different placeholder
SIGMA_BLOCK_DUPLICATE The name of a block must be unique within a template. Block 'blockname' found twice. The added block contains a subblock that has the same name as the existing one Check 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.

Note

This function can not be called statically.