Stworzenie fetch'a dla nadpisanego szablonu jest czynnością standardową - foreach "wyniki" as "wynik" itp.Co jednak jeśli naszego "wynik" jest w widoku zbyt wiele? Dopiszmy stronnicowanie i podzielmy wyniki na odpowiednie części.
Wykorzystamy standardową wstawkę do stronnicowania wyników wziętą z widoku "full" pliku folder.tpl:
{include name=navigator
uri='design:navigator/google.tpl'
page_uri=$node.url_alias
item_count=$list_count
view_parameters=$view_parameters
item_limit=$page_limit}potrzebujemy trzech zmiennych:
Zdefiniujmy te zmienne, np:
{def $page_limit = 10}
{def $arts = fetch( 'content', 'tree',
hash( 'parent_node_id', 84,
'sort_by', array(
array( 'attribute', false(), 'article/sticky' ),
array( 'attribute', false(), 'article/data')
),
'class_filter_type', 'include',
'class_filter_array', array( 'article' ),
'limit', $page_limit,
'offset', $view_parameters.offset ) ) }
{def $list_count=fetch( 'content', 'tree_count',
hash( 'parent_node_id', 84,
'class_filter_type', 'include',
'class_filter_array', array( 'article' ) ) ) }
Dodajmy pętle która "przetworzy" nam $arts:
{foreach $arts as $i => $art}
{node_view_gui content_node=$art view=line}
{/foreach}
Na koniec includujemy do szablonu wspomniane stronnicowanie:
{include name=navigator
uri='design:navigator/google.tpl'
page_uri=$node.url_alias
item_count=$list_count
view_parameters=$view_parameters
item_limit=$page_limit}Całość może wyglądać następująco:
{def $page_limit = 10}
{def $arts = fetch( 'content', 'tree',
hash( 'parent_node_id', 84,
'sort_by', array(
array( 'attribute', false(), 'article/sticky' ),
array( 'attribute', false(), 'article/data')
),
'class_filter_type', 'include',
'class_filter_array', array( 'article' ),
'limit', $page_limit,
'offset', $view_parameters.offset ) ) }
{def $list_count=fetch( 'content', 'tree_count',
hash( 'parent_node_id', 84,
'class_filter_type', 'include',
'class_filter_array', array( 'article' ) ) ) }
{foreach $arts as $i => $art}
{node_view_gui content_node=$art view=line}
{/foreach}
<div class="break"></div>
{include name=navigator
uri='design:navigator/google.tpl'
page_uri=$node.url_alias
item_count=$list_count
view_parameters=$view_parameters
item_limit=$page_limit}