addBlock()
Synopsis
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
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.