Search page
{* set number of items to display on one page *} {assign var="limit" value="20"} {* determine the current page *} {if $smarty.request.page} {* get the search results *} {init_search_results name="search" start=$current_page*$limit limit=$limit use_fulltext=1} {* determine the current label (type of objects currently displayed) *} {if $smarty.request.label} {* clean the keywords *} {assign var="query" value=$smarty.request.query|xss_clean|htmlspecialchars} {* Search header *} {foreach from=$search item="label"} {if $label->name == $current_label} {* set the current object type total found count *} {if $search_counttotal} {* Search results *} {foreach from=$search item="label"} {if $label->name == $current_label} {else} {/if} <p>{$art->lead}<br>{$art->body}</p> {/if} {if $current_count}
{assign var="current_page" value=$smarty.request.page|intval}
{else}
{assign var="current_page" value=0}
{/if}
{assign var="current_label" value=$smarty.request.label}
{else}
{assign var="current_label" value=$search[0]->name}
{/if}
<h1>{sysword word="Keyword" type="Search"}: {$query} ({$search_counttotal})</h1>
<span>{$label->title} ({$label->counttotal})</span>
{assign var="current_count" value=$label->counttotal}
{* set the current object type total pages count *}
{assign var="total_pages" value=$current_count/$limit|ceil}
{else}
<a href="?{if $smarty.request.label}{$smarty.server.QUERY_STRING|replace:"label=`$current_label`":"label=`$label->name`"|replace:"&page=`$current_page`":""}{else}{$smarty.server.QUERY_STRING|replace:"&page=`$current_page`":""|cat:"&label=`$label->name`"}{/if}">{$label->title} ({$label->counttotal})</a>
{/if}
{/foreach}
{foreach from=$label->results item="object"}
<p><a href="{$object->href}">{$object->title}</a><p>
{/foreach}
{/if}
{/foreach}
{* No results article *}
{init_article name="art" system_message="no_search_results"}
{if strlen($query) < 4}
<p>Search keyword too short</p>
{if $art->show_headline}
<h1>{$art->buttons}{$art->title}</h1>
{/if}
{* Paging *}
{if $current_page-1 >= 0}<a href="?{if isset($smarty.request.page)}{$smarty.server.QUERY_STRING|replace:"page=`$current_page`":"page=0"}{else}{$smarty.server.QUERY_STRING|cat:"&page=0"}{/if}">«</a> <a href="?{if isset($smarty.request.page)}{$smarty.server.QUERY_STRING|replace:"page=`$current_page`":"page=`$current_page-1`"}{else}{$smarty.server.QUERY_STRING|cat:"&page=`$current_page-1`"}{/if}"><</a>{/if}
{if $total_pages <= 5}
{assign var="pages_loop" value=$total_pages}
{assign var="pages_loop_start" value="0"}
{else}
{assign var="pages_loop_start" value=$current_page-2}
{if $pages_loop_start < 0}{assign var="pages_loop_start" value=0}{/if}
{assign var="pages_loop" value=$pages_loop_start+5}
{/if}
{section name="pages" loop=$pages_loop start=$pages_loop_start}
{if $smarty.section.pages.index != $current_page}<a href="?{if isset($smarty.request.page)}{$smarty.server.QUERY_STRING|replace:"page=`$current_page`":"page=`$smarty.section.pages.index`"}{else}{$smarty.server.QUERY_STRING|cat:"&page=`$smarty.section.pages.index`"}{/if}">{/if}{$smarty.section.pages.index+1}{if $smarty.section.pages.index != $current_page}</a>{/if}
{/section}
{if $current_page+1 != $total_pages}<a href="?{if isset($smarty.request.page)}{$smarty.server.QUERY_STRING|replace:"page=`$current_page`":"page=`$current_page+1`"}{else}{$smarty.server.QUERY_STRING|cat:"&page=`$current_page+1`"}{/if}">></a> <a href="?{if isset($smarty.request.page)}{$smarty.server.QUERY_STRING|replace:"page=`$current_page`":"page=`$total_pages-1`"}{else}{$smarty.server.QUERY_STRING|cat:"&page=`$total_pages-1`"}{/if}">»</a>{/if}
{/if}
RSS