Caution: This documentation is for eZ Publish legacy, from version 3.x to 6.x.
For 5.x documentation covering Platform see eZ Documentation Center, for difference between legacy and Platform see 5.x Architecture overview.

attribute

Summary

Makes it possible to inspect the contents of arrays, hashes and objects.

Usage

input|attribute( [show_values [, level [, table ] ] ] )

Parameters

NameTypeDescriptionRequired
show_values string Sets whether to extract values in addition to keys, names, etc. If "show" is passed, the values will be returned. Otherwise, the operator will not return any values. No.
level integer The number of levels that should be processed (default is 2). No.
table boolean Return result as HTML table (default) or not. No.

Returns

A string revealing information about the target.

Description

This operator extracts all available keys, attribute names and/or methods that belong to the input parameter (must be either an object, an array or a hash). By default, the array keys, object attribute names and their types will be revealed. By passing "show" as the first parameter, the operator will also return the values. The second parameter can be used to control the number of levels/children that should be expanded and included in the result (the default setting is 2). A large level value may cause the system to be trapped in a recursive/infinite loop. The returned result is an HTML table containing the retrieved information. If "false()" is passed as the third parameter, the output will be a plain string instead of an HTML table. Please refer to the "Array and object inspection" section of the "Templates" chapter for more information about the use of this operator.

Examples

Example 1

{def $example=hash( 'Name',  'John Doe',
                    'Age',   24,
                    'Phone', '555-3212' )}
 
{$example|attribute()}

The following output will be produced:

Attribute

Type

Name

string

Age

integer

Phone

string

Example 2

{def $example=hash( 'Name',  'Jane Doe',
                    'Age',   23,
                    'Phone', '555-3213' )}
 
{$example|attribute( 'show' )}

The following output will be produced:

Attribute

Type

Value

Name

string

'Jane Doe'

Age

integer

23

Phone

string

'555-3213'

Example 3

{def $example=hash( 'Name',  'Jane Doe',
                    'Age',   25,
                    'Phone', '555-3213' )}
 
{$example|attribute( 'something' )}

The following output will be produced:

Attribute

Type

Name

string

Age

integer

Phone

string

Balazs Halasy (05/02/2004 10:50 am)

Julia Shymova (02/10/2007 8:42 am)

Balazs Halasy, Julia Shymova


Comments

  • only the pipe operator

    as documented here, the attribute operator only works with the pipe operator, iow
    attribute($hash,'show')
    

    does not work.