problem displaying eZObjectRelation datatype

Author Message

Roberta Gatti

Wednesday 24 March 2004 3:31:08 am

Hi,
I create a new class which contains these fields:

name --> string
description --> string
orario --> ezobjectrelation datatype

The class linked to the field "orario" is composed by:

day --> string
hour --> string

I want to display all fields of my new class but I have same problems displaying the data contained in ezobjectrelation datatype with fetch function.

TIA
R.

John Dalton

Saturday 27 March 2004 6:15:59 pm

I'm having a similar problem - I need to be able to access related objects of items I've fetched.

How do I either access those objects directly from the value returned by fetch, or get the object id so that I can grab it some other way?

I have several related objects, one of them is called "band". Let's say I want to grab the attribute "description" from the band object which is related to the current item - in the loop I've tried:

$item.band.description
$item.object.band.description
$item.object.data_map.band.description
$item.object.data_map.band.data_map.description
$item.object.data_map.band.object.data_map.description

$item.object.data_map.band gives me formatted output, but not access to attributes.

This must be simple, but I can't find an example in the documentation.

Lauren Matheson

Monday 05 April 2004 9:43:50 pm

Check out: http://www.ez.no/community/forum/setup_design/accessing_an_attribute_of_a_class_s_objectrelation

John Dalton

Tuesday 13 April 2004 7:45:02 pm

Hi Roberta,

I solved my own problem, and hopefully I've solved yours as well. I eventually found an attribute which works pretty much by trial and error, using the attribute(show) command to view them all.

The object id of the related object is stored in the data_int attribute of the object relation field. This seems pretty counter-intuitive to me.

Here's an example that should suit the situation you've described above, assuming the template is for the node that displays the 'container' object:

  {let orario=fetch( 'content', 'object',
                        hash( 'object_id', $node.object.data_map.orario.data_int )
                       )
  }
  
  
  Name: {$node.object.data_map.name}
  Description: {$node.object.data_map.description}
  Day: {$orario.object.data_map.day}
  Hour: {$orario.object.data_map.hour}

This can be used (modified) inside a loop or whereever you like - once you know that you can find the required value inside data_int, the rest is easy.

I hope this helps,

John Dalton

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 19:09:22
Script start
Timing: Jan 18 2025 19:09:22
Module start 'layout'
Timing: Jan 18 2025 19:09:22
Module start 'content'
Timing: Jan 18 2025 19:09:23
Module end 'content'
Timing: Jan 18 2025 19:09:23
Script end

Main resources:

Total runtime0.7230 sec
Peak memory usage4,096.0000 KB
Database Queries62

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0064 589.1641152.6406
Module start 'layout' 0.00640.0042 741.804739.4766
Module start 'content' 0.01060.7106 781.2813518.3359
Module end 'content' 0.72120.0017 1,299.617212.1250
Script end 0.7229  1,311.7422 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00480.6678160.0003
Check MTime0.00230.3119160.0001
Mysql Total
Database connection0.00100.141410.0010
Mysqli_queries0.662791.6625620.0107
Looping result0.00070.0954600.0000
Template Total0.675893.520.3379
Template load0.00260.362320.0013
Template processing0.673193.106920.3366
Template load and register function0.00010.020310.0001
states
state_id_array0.00130.178310.0013
state_identifier_array0.00861.193420.0043
Override
Cache load0.00230.3145360.0001
Sytem overhead
Fetch class attribute can translate value0.00060.087830.0002
Fetch class attribute name0.00110.146540.0003
XML
Image XML parsing0.00040.054430.0001
class_abstraction
Instantiating content class attribute0.00000.001540.0000
General
dbfile0.00080.1105100.0001
String conversion0.00000.001340.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
4content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
5content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
9content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 21
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs