Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Nodes, objects and attributes

The three things content templates work with: the node (a place in the tree), the content object (the content with its versions) and its attributes (the fields in data_map), with the node attributes designers use most…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/designers/templates/nodes-objects-attributes.md

On this page

Nodes, objects and attributes

This page is for designers who write view templates. Content in Exponential has three layers; templates move between them with the dot.

Contents

  1. The three layers
  2. Node attributes
  3. Object attributes
  4. Fields: data_map
  5. Several locations

The three layers

LayerWhat it isIn templates
Nodea place of the content in the tree (one object can have several)$node in view templates
Content objectthe content itself, with versions and languages$node.object
Attributeone field of the object: title, body, image$node.data_map.<identifier>

Node attributes

From eZContentObjectTreeNode (kernel/classes/ezcontentobjecttreenode.php), the ones designers use most:

AttributeGives
namethe object's name in the current language
node_id, parent_node_id, contentobject_id, depthids and depth
url_aliasthe path for ezurl
class_identifier, class_namethe content class
data_mapthe fields
objectthe content object
children, children_count, subtreebelow it (fetches; see Fetch performance)
parent, path, path_array, path_with_namesabove it
sort_arraythe sort order the editor chose for its children
can_read, can_edit, can_create, can_remove, can_hide, can_movethe current user's permissions on it
is_main, is_hidden, is_invisiblemain location, hidden states
creator, remote_idthe creator; the stable remote id

Object attributes

$node.object.published and modified (timestamps), owner, current_language, available_languages, main_node, assigned_nodes, section_id, remote_id.

Fields: data_map

$node.data_map is a hash of the fields by identifier. Each field (an eZContentObjectAttribute) has:

AttributeGives
has_contentwhether it is filled
contentits value, in a form that depends on the datatype (a string, an image object, a date ...)
data_text, data_int, data_floatthe stored raw values
contentclass_attribute_identifier, contentclass_attribute.nameits identifier and label
data_type_stringthe datatype (ezstring, ezxmltext, ezimage ...)

Draw a field with its datatype template, which knows its markup:

{if $node.data_map.intro.has_content}
    {attribute_view_gui attribute=$node.data_map.intro}
{/if}

Read content yourself only when you need a part of it (an image alias URL, a date for l10n).

Several locations

An object placed in two folders has two nodes. Links and canonical URLs should use the main node: $node.object.main_node.url_alias. $module_result.content_info.main_node_url_alias has it in the pagelayout.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x