Array and object inspection
This part of the 4.x documentation is for eZ Publish 4.0, only reference section is common for all eZ Publish 4.x versions as well as eZ Publish 5.x "LegacyStack", please select the version you are using for the most up to date documentation! |
By using the "attribute" template operator, it is possible to quickly inspect the contents of arrays and template objects. The operator creates an overview of available keys, attribute names and/or methods in an object or an array. By default, only the array keys and object attribute names (also called identifiers) are shown. By passing "show" as the first parameter, the operator will also display the values.
Important note: he dumb template operator is an alias of attribute() available in 4.7 and higher. It is simpler to use and makes it possible to inspect the contents of arrays, hashes and objects.
The second parameter can be used to control the number of levels/children that will be explored (the default setting is 2). The following example demonstrates how the operator can be used to inspect the contents of an "ezcontentobjecttreenode" object.
{$node|attribute( show, 1 )}
The following output will be produced:
Attribute | Type | Value |
---|---|---|
node_id |
string |
2 |
parent_node_id |
string |
1 |
main_node_id |
string |
2 |
contentobject_id |
string |
1 |
contentobject_version |
string |
10 |
contentobject_is_published |
string |
1 |
depth |
string |
1 |
sort_field |
string |
8 |
sort_order |
string |
1 |
priority |
string |
0 |
modified_subnode |
string |
1108118324 |
path_string |
string |
'/1/2/' |
path_identification_string |
string |
'' |
is_hidden |
string |
0 |
is_invisible |
string |
0 |
name |
string |
'eZ publish' |
data_map |
array |
Array(6) |
object |
object[ezcontentobject] |
Object |
subtree |
array |
Array(114) |
children |
array |
Array(44) |
children_count |
string |
44 |
contentobject_version_object |
object[ezcontentobjectversion] |
Object |
sort_array |
array |
Array(1) |
can_read |
boolean |
true |
can_create |
boolean |
false |
can_edit |
boolean |
false |
can_hide |
boolean |
false |
can_remove |
boolean |
false |
can_move |
boolean |
false |
creator |
object[ezcontentobject] |
Object |
path |
array |
Array(0) |
path_array |
array |
Array(2) |
parent |
object[ezcontentobjecttreenode] |
Object |
url |
string |
'' |
url_alias |
string |
'' |
class_identifier |
string |
'folder' |
class_name |
string |
'Folder' |
hidden_invisible_string |
string |
'-/-' |
hidden_status_string |
string |
'Visible' |
As the output shows, there is a lot of information that can be extracted from a node object. In addition to strings and numbers the object also consists of other objects. For example, the creator of the node is a "ezcontentobject" object. The creator object can be further inspected by doing the following:
{$node.creator|attribute( show, 1 )}
The following output will be produced:
Attribute | Type | Value |
---|---|---|
id |
string |
14 |
section_id |
string |
2 |
owner_id |
string |
14 |
contentclass_id |
string |
4 |
name |
string |
'Administrator User' |
is_published |
string |
0 |
published |
string |
1033920830 |
modified |
string |
1033920830 |
current_version |
string |
1 |
status |
string |
1 |
current |
object[ezcontentobjectversion] |
Object |
versions |
array |
Array(1) |
author_array |
array |
Array(1) |
class_name |
string |
'User' |
content_class |
object[ezcontentclass] |
Object |
contentobject_attributes |
array |
Array(5) |
owner |
object[ezcontentobject] |
Object |
related_contentobject_array |
array |
Array(0) |
related_contentobject_count |
string |
0 |
reverse_related_contentobject_array |
array |
Array(0) |
reverse_related_contentobject_count |
string |
0 |
can_read |
boolean |
false |
can_create |
boolean |
false |
can_create_class_list |
array |
Array(0) |
can_edit |
boolean |
false |
can_translate |
boolean |
false |
can_remove |
boolean |
false |
can_move |
boolean |
false |
data_map |
array |
Array(5) |
main_parent_node_id |
string |
13 |
assigned_nodes |
array |
Array(1) |
parent_nodes |
array |
Array(1) |
main_node_id |
string |
15 |
main_node |
object[ezcontentobjecttreenode] |
Object |
default_language |
string |
'eng-GB' |
content_action_list |
boolean |
false |
class_identifier |
string |
'user' |
class_group_id_list |
array |
Array(1) |
name |
string |
'Administrator User' |
match_ingroup_id_list |
boolean |
false |
Again, this object consists of a lot of information. As mentioned above, the "attribute" operator can be used on both objects and arrays. The following example demonstrates how to inspect the "data_map" array (which reveals the object's attributes) of the node's creator object.
{$node.creator.data_map|attribute( show, 1 )}
The following output will be produced:
Attribute | Type | Value |
---|---|---|
first_name |
object[ezcontentobjectattribute] |
Object |
last_name |
object[ezcontentobjectattribute] |
Object |
user_account |
object[ezcontentobjectattribute] |
Object |
signature |
object[ezcontentobjectattribute] |
Object |
image |
object[ezcontentobjectattribute] |
Object |
Balazs Halasy (17/02/2005 9:02 am)
Ricardo Correia (17/04/2013 1:29 pm)
Comments