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.
|