abstract class Template

Class Template

Properties

static array $theme_set_config

Stores Theme configuration information

static protected int $output_mode
string $block_id
array $data_blocks
array $marker_sets
Controller $mod
array $html_blocks
mixed $markers
protected array $file_cache
protected string $render_stage
protected bool $render_stage_key
protected bool $render_stage_block
protected int $render_stage_ttl
protected int $render_stage_force_render
protected array $_prerendered
protected bool $final_render_call
protected array[] $auto_render_sub_blocks
protected mixed $template_includes
protected string $render_mode
protected $previous_render_mode
$render_mode_block
protected $_raw_markers
protected bool $option_template_debug
protected $last_xtag_if_value
protected $last_parse_template

Methods

__construct()

Template constructor.

__toString()

No description

static string
_parse_template_content(string $template_content, bool $block = false, bool $parseLangStrings = true, Template $to = null)

No description

static string
_parse_template_content_markers(string $template_content, Template $to)

Parse for ###Markers###

static mixed
_parse_template_content_xtags(mixed $content, bool|Template $to = false)

Parse the passed HTML source for xTags and render these xTags

bool|string
_render_array_block(mixed $array, mixed $key = false)

Internal Render Function

void
add_renderer(string|array $auto_render_sub_block)

No description

bool
add_template(string $name, string $path)

Add a template to the registry

void
append(string $marker, string $content, string $block = 'content')

No description

void
append_to_list(string $marker, string $content, string $block = 'content')

No description

assign(mixed $marker, string $content = 'array_fill', string $block = 'content', int|bool $cache_ttl = false, string $cache_group = 'default')

No description

assignMobileAppInfo()

No description

assign_js($options)

No description

assign_xss()

No description

string|null
auto_render_block(string $block)

No description

static 
cb_gettext($matches)

No description

bool
clear_marker_cache(string $marker = '', string $cache_group = '', string $block = 'content')

No description

static DOMNode
convert_to_xml(string $xml_source, array $errors = array())

Convert String to XML Node

void
disable_render_stage() deprecated

DISABLE Pre-Rendering and resets staging params

enable_render_stage(string $render_stage = 'pre', string $cache_key = 'auto', int $ttl = 3600, string $block_id = 'content') deprecated

ENABLE Pre-Rendering for template parsing

string
format_template_specialchars(string $text)

Escape / Convert Template specific characters (###;{{{;}}})

string
generateTemplateCacheKey(string $template_file, string $section, string|null $render_stage = null, string|null $cache_key = null)

No description

string
getAccessibilityClasses()

Returns a string with all active accessibility classes

getExpertConfig($themeConfig = [])

No description

string
getFileCacheContent(string $tpl, string $section)

No description

static mixed
get_config(string $var)

Get Config Value of Custom Theme Config

array
get_marker_block(string $block)

No description

get_marker_content(string $block, string $marker, bool $render_objects = false, $params = false)

No description

get_output_mode()

No description

array
get_render_blocks()

No description

mixed
get_render_mode(bool $changes_only = false, bool $previous_mode = false)

No description

object|string
get_rendered_object(object $object, array $params = null)

Calls the render() function recursively of the passed object and returns the content

string
get_template_debug()

Returns the debug output for the current template

get_xtag_marker_value($params, $is_indexed = false, $clean_params = false, $escape_markers = true)

No description

static array
get_xtag_registry()

Returns the xtag registry

array
handle_custom_namespace(mixed $ns, int $k, mixed $name)

This function is used to fund

initBaseTemplate()

Initialize common basic template markers like wwwres folders, system name and settings

init_template_vars()

put your comment there.

bool
is_final_render_call()

Is the current render cycle the last cycle? (i.e. initiated from view)

load_theme_set_config()

Set the theme configuration (theme set config)

bool
marker_is_cached(string $marker, string $cache_group = 'default', string $block = 'content')

No description

string
output_html()

Output the final HTML

string
output_login_form()

No description

string
output_pw_change_form()

No description

string
parse_partial_template(string $template, string $section, $values)

No description

mixed
parse_template(string $template, string|bool $section = false, string|bool $block_id = false, string|bool $recursive = false)

Generic Template Loader

string
parse_template_content($template_content, bool $block = false, bool $parseLangStrings = true, bool $to = false)

No description

string
parse_template_translate_cb(array $matches)

Callback used by template language replace

mixed|string
parse_xtag(array $xml_source)

Evaluate the passed XML Source parse xTags

mixed
pre_render_action(string $page, array $args = array())

Enables a template to execute certain tasks before page is fully rendered (e.g. AJAX navigation)

register_xtag_parser(string $module_name, bool|array $callback = false)

Register custom xtag parser

removeRenderer($block)

Remove a block which in turn will not be rendered

string
render()

No description

void
mixed
render_action(mixed $page, array $args = array())

Render Action Function on Template if exists

string
render_array_block(mixed $array, string|bool $key = false)

No description

string
render_content_marker()

No description

string
render_error()

No description

string
render_html(bool $final_render_call = false)

No description

bool
render_is_prepared(mixed $template, mixed $section = 'false', mixed $render_stage = 'pre', mixed $cache_key = null) deprecated

Check wether a render stage is already cached or not This allows controllers to save on processing time if certain fields are calculated for the template only You need to call this function AFTER getting a view

string
render_login()

wrapper for beeing able to use the output_login_form as renderer

string
render_meta_script_resources()

Render Meta Script Resources

string
render_meta_style_resources()

Render CSS Resources

render_prepare(string $render_stage = 'pre', string $cache_key = 'global', int $ttl = 3600, string $block_id = 'content') deprecated

Pre-Render Templates

string
render_system_flash_message()

put your comment there.

string
render_xtag(string $tag, array $params)

xTag Controller, regisitered for namespace xt (xelos template)

string
render_xtag_element(DOMNode $dom_node, bool $render_only_childs = false, bool $special_child_handling_overwrite = false)

Renders the passed XML Element to String and uses registered xTag Controllers if possible

mixed
retrieve(string $marker, string $block = 'content', bool $clean_params = false)

No description

void
setFileCacheContent(string $tpl, string $section, string $content = null)

No description

set_block_id($block_id)

No description

void
set_marker_content(string $block, mixed $marker, string $content = 'array_fill', int|bool $cache_ttl = false, string $cache_group = 'default')

Set Marker

set_output_mode(int $flags = 0)

Set Output Mode

void
set_render_mode(string $mode = 'full', string $block = 'content')

No description

Details

at line 171
__construct()

Template constructor.

at line 2741
__toString()

No description

at line 1530
static string _parse_template_content(string $template_content, bool $block = false, bool $parseLangStrings = true, Template $to = null)

internal  param parse $bool Language Token?
 

No description

Parameters

string $template_content

Template Content

bool $block
bool $parseLangStrings
Template $to

Return Value

string

Parsed Template Content

Exceptions

Exception

at line 1577
static string _parse_template_content_markers(string $template_content, Template $to)

Parse for ###Markers###

Parameters

string $template_content
Template $to

Return Value

string HTML

at line 1619
static mixed _parse_template_content_xtags(mixed $content, bool|Template $to = false)

Parse the passed HTML source for xTags and render these xTags

Parameters

mixed $content
bool|Template $to

Return Value

mixed

at line 975
protected bool|string _render_array_block(mixed $array, mixed $key = false)

Internal Render Function

Parameters

mixed $array
mixed $key

Return Value

bool|string

at line 655
void add_renderer(string|array $auto_render_sub_block)

No description

Parameters

string|array $auto_render_sub_block

Renderer-Name (e.g. overview for a function render_overview)

Return Value

void

at line 292
bool add_template(string $name, string $path)

Add a template to the registry

Parameters

string $name

template caller

string $path

path to template

Return Value

bool success

at line 1210
void append(string $marker, string $content, string $block = 'content')

No description

Parameters

string $marker

Marker ID (e.g. title)

string $content Content
string $block

Block ID (e.g. content)

Return Value

void

at line 1231
void append_to_list(string $marker, string $content, string $block = 'content')

No description

Parameters

string $marker

Marker ID (e.g. title)

string $content Content
string $block

Block ID (e.g. content)

Return Value

void

at line 1164
Template assign(mixed $marker, string $content = 'array_fill', string $block = 'content', int|bool $cache_ttl = false, string $cache_group = 'default')

No description

Parameters

mixed $marker

Marker ID or Model Object

string $content

Content (Default assumes $marker to be an array)

string $block

Block ID (e.g. content)

int|bool $cache_ttl

Cache TTL (in seconds)

string $cache_group

Cache Group (e.g. userID, Group)

Return Value

Template

at line 2953
protected assignMobileAppInfo()

No description

at line 3067
assign_js($options)

No description

Parameters

$options

at line 1188
Template assign_xss()

internal  param mixed $marker Marker ID or Model Object
internal  param string $content Content (Default assumes $marker to be an array)
internal  param string $block Block ID (e.g. content)
internal  param int $cache_ttl Cache TTL (in seconds)
internal  param string $cache_group Cache Group (e.g. userID, Group)
 

No description

Return Value

Template

at line 615
final protected string|null auto_render_block(string $block)

No description

Parameters

string $block

Block to be rendered (e.g. content)

Return Value

string|null

Returns HTML if staged rendering is active

at line 1561
static cb_gettext($matches)

No description

Parameters

$matches

at line 1104
bool clear_marker_cache(string $marker = '', string $cache_group = '', string $block = 'content')

No description

Parameters

string $marker

Marker ID

string $cache_group

Cache Group

string $block Block

Return Value

bool success

at line 2608
static DOMNode convert_to_xml(string $xml_source, array $errors = array())

Convert String to XML Node

Parameters

string $xml_source
array $errors

Return Value

DOMNode

at line 475
protected void disable_render_stage() deprecated

deprecated

DISABLE Pre-Rendering and resets staging params

Return Value

void

at line 462
protected enable_render_stage(string $render_stage = 'pre', string $cache_key = 'auto', int $ttl = 3600, string $block_id = 'content') deprecated

deprecated

ENABLE Pre-Rendering for template parsing

Parameters

string $render_stage
  • This string will identify items which should be cached during the pre-render phase
string $cache_key
  • Set the cache key to be used
int $ttl
  • Time to live for the cache
string $block_id
  • rendering applies to this block

at line 3063
string format_template_specialchars(string $text)

Escape / Convert Template specific characters (###;{{{;}}})

Parameters

string $text

Return Value

string

at line 1317
string generateTemplateCacheKey(string $template_file, string $section, string|null $render_stage = null, string|null $cache_key = null)

No description

Parameters

string $template_file
string $section
string|null $render_stage
string|null $cache_key

Return Value

string

at line 3121
string getAccessibilityClasses()

Returns a string with all active accessibility classes

Return Value

string

at line 3145
protected getExpertConfig($themeConfig = [])

No description

Parameters

$themeConfig

at line 3104
string getFileCacheContent(string $tpl, string $section)

No description

Parameters

string $tpl
string $section

Return Value

string

at line 246
static mixed get_config(string $var)

Get Config Value of Custom Theme Config

Parameters

string $var

Return Value

mixed

Value of Config, FALSE if not set

at line 1069
array get_marker_block(string $block)

No description

Parameters

string $block

Block ID

Return Value

array Markers

at line 755
protected get_marker_content(string $block, string $marker, bool $render_objects = false, $params = false)

No description

Parameters

string $block

Block ID (e.g. content)

string $marker

Marker ID (e.g. title)

bool $render_objects

Auto-Render Objects?

$params

at line 603
get_output_mode()

No description

at line 680
array get_render_blocks()

No description

Return Value

array

Renderers with priorities

at line 576
mixed get_render_mode(bool $changes_only = false, bool $previous_mode = false)

No description

Parameters

bool $changes_only

Changes only? (Returns False if Render Mode is default)

bool $previous_mode

If true, the previous render mode will be returned

Return Value

mixed

at line 693
protected object|string get_rendered_object(object $object, array $params = null)

Calls the render() function recursively of the passed object and returns the content

Parameters

object $object

Object with render() method

array $params

If object hase set_render_params() method these argument will be passed

Return Value

object|string

If Object cannot be rendered the function will return the object unmodified

at line 354
string get_template_debug()

Returns the debug output for the current template

Return Value

string html

at line 2633
get_xtag_marker_value($params, $is_indexed = false, $clean_params = false, $escape_markers = true)

No description

Parameters

$params
$is_indexed
$clean_params
$escape_markers

at line 193
static array get_xtag_registry()

Returns the xtag registry

Return Value

array

at line 2105
array handle_custom_namespace(mixed $ns, int $k, mixed $name)

This function is used to fund

Parameters

mixed $ns

namespace of registry (usually 'xm')

int $k

key in name-space-array

mixed $name

Return Value

array

Exceptions

Exception

at line 2976
Template initBaseTemplate()

Initialize common basic template markers like wwwres folders, system name and settings

Return Value

Template

at line 340
init_template_vars()

put your comment there.

..

at line 432
bool is_final_render_call()

Is the current render cycle the last cycle? (i.e. initiated from view)

Return Value

bool

TRUE if final render call

at line 209
load_theme_set_config()

Set the theme configuration (theme set config)

at line 1082
bool marker_is_cached(string $marker, string $cache_group = 'default', string $block = 'content')

No description

Parameters

string $marker

Marker ID

string $cache_group

Cache Group

string $block Block

Return Value

bool success

at line 202
string output_html()

Output the final HTML

Return Value

string HTML

at line 2863
string output_login_form()

No description

Return Value

string html

at line 3004
string output_pw_change_form()

No description

Return Value

string html

Exceptions

Exception

at line 1268
protected string parse_partial_template(string $template, string $section, $values)

No description

Parameters

string $template

Template ID

string $section

Section within the template

$values

Return Value

string

html or false if no array supplied

at line 1345
mixed parse_template(string $template, string|bool $section = false, string|bool $block_id = false, string|bool $recursive = false)

Generic Template Loader

Parameters

string $template
  • a given template (maps to a certain file in the template directory)
string|bool $section

A section can be used to separate multiple template parts in one template file. Use

and
string|bool $block_id

The block id of the marker block to be used. CONTENT is the default is no block is passed

string|bool $recursive

Return Value

mixed

Exceptions

Exception

at line 1509
string parse_template_content($template_content, bool $block = false, bool $parseLangStrings = true, bool $to = false)

No description

Parameters

$template_content
bool $block
bool $parseLangStrings
bool $to

Return Value

string

at line 1476
string parse_template_translate_cb(array $matches)

Callback used by template language replace

Parameters

array $matches

preg_match replace array

Return Value

string html

at line 1638
mixed|string parse_xtag(array $xml_source)

Evaluate the passed XML Source parse xTags

Parameters

array $xml_source

Preg Replace Matching Array

Return Value

mixed|string

Exceptions

ContentException

at line 309
mixed pre_render_action(string $page, array $args = array())

Enables a template to execute certain tasks before page is fully rendered (e.g. AJAX navigation)

Parameters

string $page
array $args

Return Value

mixed

See call_user_func_array

at line 181
register_xtag_parser(string $module_name, bool|array $callback = false)

Register custom xtag parser

Parameters

string $module_name
bool|array $callback

at line 668
removeRenderer($block)

Remove a block which in turn will not be rendered

Parameters

$block

at line 2734
string render()

No description

Return Value

string HTML

at line 2989
void renderMultiFactorAuthenticationForm()

No description

Return Value

void

Exceptions

Exception

at line 327
mixed render_action(mixed $page, array $args = array())

Render Action Function on Template if exists

Parameters

mixed $page
array $args

Return Value

mixed

See call_user_func_array

at line 948
protected string render_array_block(mixed $array, string|bool $key = false)

No description

Parameters

mixed $array Array
string|bool $key Section/Key

Return Value

string html

at line 2725
final string render_content_marker()

No description

Return Value

string HTML

at line 2792
protected string render_error()

No description

Return Value

string

HTML Error

at line 490
string render_html(bool $final_render_call = false)

No description

Parameters

bool $final_render_call

Is the considered the final render call?

Return Value

string

Returns HTML in case of staged rendering process

at line 1295
bool render_is_prepared(mixed $template, mixed $section = 'false', mixed $render_stage = 'pre', mixed $cache_key = null) deprecated

deprecated

Check wether a render stage is already cached or not This allows controllers to save on processing time if certain fields are calculated for the template only You need to call this function AFTER getting a view

Parameters

mixed $template
mixed $section
mixed $render_stage
mixed $cache_key

Return Value

bool

true if cached

at line 2854
string render_login()

wrapper for beeing able to use the output_login_form as renderer

Return Value

string html?

at line 259
string render_meta_script_resources()

Render Meta Script Resources

Return Value

string

at line 273
string render_meta_style_resources()

Render CSS Resources

Return Value

string

at line 445
render_prepare(string $render_stage = 'pre', string $cache_key = 'global', int $ttl = 3600, string $block_id = 'content') deprecated

deprecated

Pre-Render Templates

Parameters

string $render_stage
  • This string will identify items which should be cached during the pre-render phase
string $cache_key
  • Set the cache key to be used
int $ttl
  • Time to live for the cache
string $block_id
  • rendering applies to this block

at line 2844
string render_system_flash_message()

put your comment there.

..

Return Value

string html

at line 2149
string render_xtag(string $tag, array $params)

xTag Controller, regisitered for namespace xt (xelos template)

Parameters

string $tag
array $params

Return Value

string

Exceptions

Exception

at line 1734
string render_xtag_element(DOMNode $dom_node, bool $render_only_childs = false, bool $special_child_handling_overwrite = false)

Renders the passed XML Element to String and uses registered xTag Controllers if possible

Parameters

DOMNode $dom_node

XML DOM Element

bool $render_only_childs

only render childs

bool $special_child_handling_overwrite

overwrite the skip condition in common child handling - used in special child render function of e.g. foreach

Return Value

string html

Exceptions

Exception

at line 1248
mixed retrieve(string $marker, string $block = 'content', bool $clean_params = false)

No description

Parameters

string $marker

Marker ID (e.g. title)

string $block

Block ID (e.g. content)

bool $clean_params

Return Value

mixed

HTML/Array/Object [Contents of Marker]

at line 3113
void setFileCacheContent(string $tpl, string $section, string $content = null)

No description

Parameters

string $tpl
string $section
string $content

Return Value

void

at line 1565
set_block_id($block_id)

No description

Parameters

$block_id

at line 1126
void set_marker_content(string $block, mixed $marker, string $content = 'array_fill', int|bool $cache_ttl = false, string $cache_group = 'default')

Set Marker

Parameters

string $block

markers are split into groups, you give the appropiate group here (e.g. meta,header,content)

mixed $marker

A marker corresponds to a specific placeholder within a tpl template, you can submit an array here and leave the third param empty

string $content

your content/html/link

int|bool $cache_ttl

Cache TTL (in seconds)

string $cache_group

Cache Group (e.g. context, userID, Group)

Return Value

void

at line 599
set_output_mode(int $flags = 0)

Set Output Mode

Parameters

int $flags

Mode: XELOS_OUTPUT_NOJS - assumes that you don't have regular JS frameworks and will reduce JS output for UI Helpers XELOS_OUTPUT_NOTEMPLATE - No default Template wrapping (No Header/Footer, No JS, No CSS Files)

at line 546
void set_render_mode(string $mode = 'full', string $block = 'content')

No description

Parameters

string $mode

Mode is 'html_only' or 'block_only' , default is 'full'

string $block Block

Return Value

void