Karsten Jennissen
|
Monday 29 January 2007 11:59:42 pm
I found a solution, for those that are interested. Part 1: Display all the values of the attribute "sitz", if a value occurs more than once, show it only once. Count using attribute_filter. Generate a link per value with a view parameter "sitz" and the value as the parameter
{* Die Sitze durchlaufen. Wenn der Firmensitz noch nicht im Array enthalten ist, append. *}
{def $aktuellersitz=''}
{foreach $gruender as $aktuellergruender}
{set $aktuellersitz=$aktuellergruender.object.data_map.sitz.content}
{if $sitze|contains($aktuellersitz)|not()}
{set $sitze=$sitze|append($aktuellersitz)}
{/if}
{/foreach}
{* Ergebnisliste der Sitze durchlaufen, Anzahl anzeigen und Link zu Anzeigemaske generieren *}
{foreach $sitze as $sitzanzeige}
{def $sitzanzahl=fetch( content, list_count, hash( parent_node_id, 69, attribute_filter, array( array( 'gruender/sitz', '=', $sitzanzeige) ) ) ) }
{def $mainurlalias=concat($node.url_alias, "/(sitz)/", $sitzanzeige)}
<a href={$mainurlalias|ezurl()}>{$sitzanzeige}</a> ({$sitzanzahl})<br />
{/foreach}
Part 2: Display using the view_parameter and attribute_filter:
{if $view_parameters.sitz}
<h2>Firmensitz in {$view_parameters.sitz}</h2>
{def $filterergebnis=fetch( content, list, hash( parent_node_id, 69, attribute_filter, array( array( 'gruender/sitz', '=', $view_parameters.sitz) ) ) ) }
{foreach $filterergebnis as $gruender}
{node_view_gui view=line content_node=$gruender}
{/foreach}
{else}
...
|