Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.
For 5.x documentation covering Platform see eZ Documentation Center, for difference between legacy and Platform see 5.x Architecture overview.



Redirects the output from a block of template code to a string.


{set-block variable=$variable [ name=name ] [ scope=scope ]}


variable string The name of the variable (with dollar sign). Yes.
name string The name of the target namespace. No.
scope string The scope ("global", "root" or "relative"). No.


This mechanism will silently process all template code which is encapsulated by "{set-block ...}" and "{/set-block}". It will not produce any actual output. Instead, the generated output will be assigned to a variable specified by the "variable" parameter (as a string). If the variable does not exist, it will be automatically created. If the same target variable is used in several blocks, its contents will be overwritten every time a new block is processed.


Example 1

{set-block variable=$example}
    {def $test=array( 'x', 'y', 'z' )}
    Hello world - {$test[1]}

The code which is encapsulated by "set-block" will not produce any output. Instead, the output will be put into a string called $example. When this variable is accessed directly, the following output will be produced: "Hello world - y".

Example 2

{set-block scope=root variable=cache_ttl}0{/set-block}

This will put zero into the "cache_ttl" global variable and thus disable view caching for this page.

Balazs Halasy (06/02/2004 1:23 pm)

Svitlana Shatokhina (11/10/2006 12:15 pm)

Balazs Halasy, Svitlana Shatokhina


There are no comments.