Snippet: Template logic to fetch and group results by letter
Table of contents:
Question
I am using fetch and need to use a view_parameter to filter the data ...
Sort. I need to sort the items by first letter (a , b , c , d ...)
Group. I need the items 'grouped' by letter
<awormus> and I didn't want to do a "first letter" attribute which would have been silly :)
Answer
Try using the alphabet navigator features added in 3.9
I prefer this solution these days rather than more custom code.
Another Answer
http://ez.no/doc/ez_publish/technical_manual/3_8/reference/modules/content/fetch_functions/keyword
Yet Another Answer
{def $items = fetch( 'content', 'list',
hash( parent_node_id, $node.node_id,'sort_by', array( 'name', true() )) ) }
{foreach $items as $item}
{if $item.data_map.term_term.value|begins_with($view_parameters.view)}
<div>
<span class="subheaders">{$item.data_map.term_term.value}: </span>
<span class="content"> {$foo.data_map.term_description.value} </span>
</div>
{/if}
{/foreach} 