Path

ez components / documentation / api reference / 2009.2.1 / template


eZ Components 2009.2.1

Template: ezcTemplateCustomBlockDefinition

[ Tutorial ] [ EBNF ] [ Functions ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcTemplateCustomBlockDefinition

Contains the definition of a custom block. [source]
Example of use: create a link custom block.
  1. Create a class which implements ezcTemplateCustomBlock and which
will be included in your application (with the autoloading mechanism).
 1.  class htmlBlocks implements ezcTemplateCustomBlock
 2.  {
 3.      public static function getCustomBlockDefinition$name )
 4.      {
 5.          switch $name )
 6.          {
 7.              case "link":
 8.                  $def new ezcTemplateCustomBlockDefinition();
 9.                  $def->class = __CLASS__;
10.                  $def->method 'link';
11.                  $def->hasCloseTag false;
12.                  $def->startExpressionName 'from';
13.                  $def->requiredParameters array'title' );
14.                  $def->optionalParameters array'from''to' );
15.                  return $def;
16.          }
17.          return false;
18.      }
19.  
20.      public static function link$parameters )
21.      {
22.          $title "";
23.          if isset$parameters['title') )
24.          {
25.              $title "title=\"{$parameters['title']}\"";
26.          }
27.          return "<" "a href=\"{$parameters['to']}\" {$title}>{$parameters['from']}</a>";
28.      }
29.  }
2. Assign the class to the Template configuration in your application.
 1.  $config ezcTemplateConfiguration::getInstance();
 2.  $config->addExtension"htmlBlocks" );
3. Use the custom block in the template.
 1.  {link "Google" to "http://www.google.com" title "Google search engine"}
The generated html code for this will be a hyperlink.

Parents

ezcTemplateCustomExtension
   |
   --ezcTemplateCustomBlockDefinition

Member Variables

public string $class
Holds the (static) class that implements the function to be executed.
public bool $excessParameters = false
When excessParameters is set to true, the custom block accepts any amount of parameters over the required parameters.
public bool $hasCloseTag
Specifies whether the class has an open and close tag or only a open tag.
public mixed $isStatic = false
public string $method
Holds the (static) method that should be run.
public array(string) $optionalParameters = array()
Holds the optional named parameters for this custom block.
public array(string) $requiredParameters = array()
Holds the required named parameters for this custom block.
public bool $sendTemplateObject = false
Whether or not the Template object is available in the custom block.

Be aware that if you change this, your custom block's signature changes as the first argument will then be the template object.
public string $startExpressionName
Holds the first parameter of a custom block without a name.

If the custom block should have a start expression then this variable specifies a name for it. The name should reappear in either the optionalParameters or the requiredParameters.
Last updated: Tue, 23 Mar 2010