settings.html

Il file settings.html è l'unico della cartella views a non essere utilizzato nel front-end, infatti fa riferimento ai contenuti della sezione impostazioni tema del pannello. Questo file è completamente personalizzabile ad eccezione della dicitura {% extends 'cms::admin.themes.settings' %}, necessaria per il suo corretto funzionamento.

Solitamente contiene un form con delle opzioni personalizzabili dall'amministratore che possono essere richiamate in front-end dal designer, inoltre queste opzioni possono essere diverse per ogni lingua.

Il CSS di questa sezione viene in genere gestito con il file admin.css e le etichette con i file admin.php, in italiano ed inglese.

In questo esempio viene creato nelle impostazioni tema un form che gestisce l'inserimento di un'immagine (logo), la scelta di un colore e un elenco di URL per le icone dei social network.

settings.html
{% extends 'cms::admin.themes.settings' %}
 
{% block admin_styles %}
	{{ parent() }}
	{{ theme.style('css/admin.css') }}
{% endblock %}
 
{% block settings_body %}
<div class="row">
	<div class="col-md-8 col-md-offset-2">
		<div class="page-header">
			<h3 id="theme_name" class="text-center">{{ theme.info.name }}</h3>
		</div>
 
		{{ form_model(theme.settings, { class: 'form-horizontal' }) }}
			<div class="panel panel-default">
				<div class="panel-heading">
					<h3 class="panel-title">{{ lang_get('theme::admin.appearance') }}</h3>
				</div>
				<div class="panel-body">
					{{ form_group('theme::admin.fields.color_details', form_color('color_details')) }}
					{{ form_group('theme::admin.fields.logo',  form_picture('logo')) }}
 
					<div class="row">
						<div class="col-md-10 col-md-offset-3 col-lg-offset-2">
							<div class="picture-preview" data-field="logo"></div>
						</div>
					</div>
				</div>
			</div>
 
			<div class="panel panel-default">
				<div class="panel-heading">
					<h3 class="panel-title">{{ lang_get('theme::admin.social_icons') }}</h3>
				</div>
				<div class="panel-body">
					{{ form_group('theme::admin.fields.social_facebook',    form_text('social_links[facebook]')) }}
					{{ form_group('theme::admin.fields.social_twitter',     form_text('social_links[twitter]')) }}
					{{ form_group('theme::admin.fields.social_google_plus', form_text('social_links[google_plus]')) }}
					{{ form_group('theme::admin.fields.social_linkedin',    form_text('social_links[linkedin]')) }}
					{{ form_group('theme::admin.fields.social_vimeo',       form_text('social_links[vimeo]')) }}
					{{ form_group('theme::admin.fields.social_youtube',     form_text('social_links[youtube]')) }}
				</div>
			</div>
 
			{{ form_save() }}
 
			{% if theme.settings %}
				{{ form_submit('cms::admin.themes.delete_settings', { name: 'delete', class: 'btn btn-danger', 'data-confirm': 'generic' }) }}
			{% endif %}
 
		{{ form_close() }}
	</div>
</div>
{% endblock %}