search_pages.html

Il file search_pages.html viene mostrato quando viene effettuata una Ricerca di categorie pagina attraverso l'apposito form. Al suo interno vanno quindi mostrati i risultati della ricerca, contenuti nell'array items, ma va anche gestito il caso in cui non ci sia alcun risultato.

In questo esempio vengono estratte le categorie cercate in una stringa, la quantità di risultati trovati, e tutti gli items, se ce ne sono.

{% extends 'base' %}
 
{% block contents %}
 
	<div class="search_terms">
		{% set searched_terms = "" %}
		{% for term in active_options.lists("title") %}
			{% set searched_terms = searched_terms ~ term ~ (loop.last ? "" : ", ") %}
		{% endfor %}
		<h1>{{ find_label('cms', 'search_results') }}: "{{ searched_terms }}"</h1>
	</div>
	<div class="search_count">
		{{ find_label('cms', 'search_results_count') }}: <strong>{{ items|length }}</strong>
	</div>
 
    {% if items|length %} {# --- se ci sono risultati --- #}
 
		<div class="items">
 
			{# --- paginazione --- #}
			<div class="pagination">
				{{ pagination.links }}
			</div>
 
			{% for child in items %}
 
				<div class="item">
					<a href="{{ child.url }}">
						<h3 class="item_title">{{ child.title }}</h3>
						{% if child.image_url %}                                                     
							<img class="img-responsive img-thumbnail" src="{{ child.image_url|resample(width=370) }}" title="{{ child.image.title }}">                                                        
						{% endif %}
						<div class="{{ child.image ? 'col-xs-8' : 'col-xs-12' }}">
							<div class="item_descr">{{ child.short_description|striptags|truncate(200) }}</div>
						</div>
					</a>
				</div>
 
			{% endfor %}
 
			{# --- paginazione --- #}
			<div class="pagination">
				{{ pagination.links }}
			</div>
 
		</div>
 
    {% else %} {# --- se non ci sono items --- #}
 
		<div class="no_results">
			<h3>{{ find_label('cms', 'search_no_results') }}</h3>
		</div>
 
    {% endif %}
 
{% endblock %}