Prev |  | Next

#### 1.4.4.7. INCLUDE

Function

  Include another template in the template.

Syntax

  `{INCLUDE [ONCE] <INCLUDE PAGE>}`

  The `<INCLUDE PAGE>` can be any of the data types that are supported by the template language (see Section 1.4.3, “Data types”).

  By specifiying the keyword `ONCE` before the name of template to include, you can make sure that that template is only included once per page.

Example code

  Example 1.19. INCLUDE statement usage

      {INCLUDE "paging"}

      {VAR include_page "cool_include_page"}
      {INCLUDE include_page}

      {INCLUDE ONCE "css"}

Limitiation

  It is not possible to use a dynamic INCLUDE statement (one where the `<INCLUDE PAGE>` is set through a template variable) within a LOOP statement, in case the included template needs to have access to the active LOOP element. There is no problem if you use a static INCLUDE statement (one where the `<INCLUDE PAGE>` is set through a string value).

  If you really need this kind of functionality though, you can work around this limitation by assigning the active LOOP element to a new template variable, prior to including the dynamic `<INCLUDE PAGE>`. Example:

      {! include_page holds the dynamic page to include }
      {VAR include_page "some_page"}

      {LOOP loop_variable}
        {! Makes loop_variable available as temp_variable in the include }
        {VAR temp_variable loop_variable}
        {INCLUDE include_page}
      {/LOOP loop_variable}

  This way you can access the active LOOP element from the included template through `temp_variable`. If you would access `loop_variable` from there, you'd see that it does not contain the active LOOP element, but the full array that you are looping over instead.

Prev | Up | Next
| Home |