[SOLVED] I have an image ezcontentobject. How to display it?

[SOLVED] I have an image ezcontentobject. How to display it?

Wednesday 26 April 2006 1:07:32 am - 2 replies

Modified on Wednesday 26 April 2006 4:04:38 am by Ciprian Popovici

Author Message

Xavier Dutoit

Wednesday 26 April 2006 1:14:56 am

You can use embed.tpl as a start (to see you the <img src="... is build for instance) and copy paste it in your template to display it the way your like.

X+

http://www.sydesy.com

Ciprian Popovici

Wednesday 26 April 2006 4:03:57 am

A thousand thanks, effendi. :) Indeed, I found the secret answer by examining embed.tpl files under design/base/. It comes down to a single line, which means using attribute_view_gui judiciously. Here's the template code, in case anybody needs it. Just a reminder: $node is a folder, and the children are articles with related images.

{let children=fetch( content, list,
hash(
        parent_node_id, $node.node_id,
        sort_by, $node.sort_array
))}
{section name=Child loop=$children}
{def $related=fetch( 'content', 'related_objects',
hash( 'object_id', $:item.object.id,
      'all_relations', false(),
      'group_by_attribute', false(),
      'sort_by', array( array( 'class_name', true() ),
                        array( 'name', true() ) ) ) )
}
{attribute_view_gui
attribute=$related[0].data_map.image
image_class="gallerythumbnail"}
{/section}

It can be improved. You could (should) run some checks on all the members of $related to make sure you find one with class_name=image and can_read=true and so on. I'm assuming the first one always works and for me it's true but YMMV. Oh, and the related_objects fetch() has redundant params in my example, but it helps to learn them.

You must be logged in to post messages in this topic!

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