{% if page.fullLayout == true %}
{% set layout = '@SyliusShop/layout-full-width.html.twig' %}
{% else %}
{% set layout = '@SyliusShop/layout.html.twig' %}
{% endif %}
{% extends layout %}
{% set published = (page.publishAt is not null and page.publishAt|date("Y-m-d H:i:s") < "now"|date("Y-m-d H:i:s") or page.publishAt is null) %}
{% set mainImage = null %}
{% if page.image %}
{% set mainImage = page.image.path %}
{% endif %}
{% block banner %}
{% if
page.code != "conditions-d-utilisation"
and page.code != "conditions-generales-de-vente"
and page.code != "mentions-legales"
and page.code != "politique-de-confidentialite"
and page.template != "structure"
%}
{% if ('@SyliusShop/Banner/_banner-' ~ page.code ~ '.html.twig')|template_file_exists %}
{{ render(url('odiseo_sylius_banner_plugin_shop_partial_banner', {'template': '@SyliusShop/Banner/_banner-' ~ page.code ~ '.html.twig'})) }}
{% else %}
{{ render(url('odiseo_sylius_banner_plugin_shop_partial_banner', {'template': '@SyliusShop/Banner/_banner.html.twig'})) }}
{% endif %}
{% endif %}
{% endblock %}
{%- block title -%}
{% if page.title is not empty and published == true %}
{{ page.title }}
{% else %}
{{ parent() }}
{% endif %}
{%- endblock -%}
{% block head %}
{{ parent() }}
{% block stylesheets %}
{{ parent() }}
{% if page.code == "contact" or page.template == "structure" %}
<script src='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.css' rel='stylesheet' />
{% endif %}
{% if page.template == "prestation" or page.template == "structure" %}
<link href='{{ asset('assets/shop/css/magnific-popup.css') }}' rel='stylesheet' />
{% endif %}
{% endblock %}
{% block metatags %}
{{ parent() }}
{% if published == true %}
{% if page.metaKeywords is not empty %}
<meta name="keywords" content="{{ page.metaKeywords }}"/>
{% endif %}
{% if page.metaDescription is not empty %}
<meta name="description" content="{{ page.metaDescription }}"/>
{% endif %}
<meta property="og:site_name" content="Mons Fromage" />
<meta property="og:locale" content="{{ sylius.localeCode }}" />
<meta property="og:title" content="{{ page.title|e('html_attr') }}" />
<meta property="og:url" content="{{ website_url ~ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" />
<meta property="og:type" content="website" />
<meta property="og:description" content="{{ page.metaDescription|e('html_attr') }}" />
<meta property="og:image" content="{{ website_url ~ '/' ~ mainImage }}" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="{{ page.title|e('html_attr') }}" />
<meta name="twitter:description" content="{{ page.metaDescription|e('html_attr') }}" />
<meta name="twitter:image" content="{{ website_url ~ '/' ~ mainImage }}" />
{% endif %}
{% endblock %}
{% endblock %}
{% block content %}
{% if published == true %}
{% if page.template is not null %}
{% include 'bundles/BitBagSyliusCmsPlugin/Shop/Page/templates/_' ~ page.template ~ '.html.twig' %}
{% else %}
{% include 'bundles/BitBagSyliusCmsPlugin/Shop/Page/' ~ page.code ~ '.html.twig' %}
{% endif %}
{% else %}
{% include 'bundles/BitBagSyliusCmsPlugin/Shop/Page/Error/_notPublished.html.twig' with {'publishAt': page.publishAt} %}
{% endif %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
{% if page.template == "prestation" or page.template == "structure" %}
<script src="{{ asset('assets/shop/js/jquery.magnific-popup.min.js') }}"></script>
<script type="text/javascript">
$(document).ready(function ($) {
$('.{{ page.template }}-details__galerie-images').magnificPopup({
delegate: 'a',
fixedContentPos: false,
midClick: true,
gallery:{
enabled:true
},
type: 'image'
});
});
</script>
{% endif %}
{% if page.template == "structure" %}
<script type="text/javascript">
// Display the map
mapboxgl.accessToken = '{{ mapbox_key }}';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/light-v10',
center: [{{ page.structureGpsLng }}, {{ page.structureGpsLat }}],
zoom: 13
});
var marker = new mapboxgl.Marker({
color: '#883412'
})
.setLngLat([{{ page.structureGpsLng }}, {{ page.structureGpsLat }}])
.addTo(map);
var nav = new mapboxgl.NavigationControl();
map.addControl(nav, 'top-left');
</script>
{% endif %}
{% if page.code == "contact" or page.code == "fromagers-evenementiels" or page.code == "centre-international-mons-formation" %}
<script src="https://www.google.com/recaptcha/api.js"></script>
<script type="text/javascript">
function onSubmitContactForm(token) {
$(document).ready(function() {
$("form#contact-form #recaptcha-token").val(token);
var firstName = $("form#contact-form input#sylius_contact_firstname").val().trim();
var lastName = $("form#contact-form input#sylius_contact_lastname").val().trim();
var email = $("form#contact-form input#sylius_contact_email").val().trim();
var phone = $("form#contact-form input#sylius_contact_phone").val().trim();
var message = $("form#contact-form #sylius_contact_message").val().trim();
var emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
var phoneRegex = /^(\D*\d){8,}$/;
if((firstName === "") || (lastName === "") || (email === "") || (message === "")) {
$("#contact-form-errors").empty().html("{{ 'sylius.contact.required_fields_are_missing'|trans }}").removeClass("hidden");
return;
}
if((email !== "") && !emailRegex.test(String(email).toLowerCase())) {
$("#contact-form-errors").empty().html("{{ 'sylius.contact.email_not_valid'|trans }}").removeClass("hidden");
return;
}
if((phone !== "") && !phoneRegex.test(String(phone).toLowerCase())) {
$("#contact-form-errors").empty().html("{{ 'sylius.contact.phone_not_valid'|trans }}").removeClass("hidden");
return;
}
$("#contact-form-errors").empty().addClass("hidden");
$("form#contact-form button").empty().html("<i class='fas fa-paper-plane'></i>{{ 'sylius.contact.sending'|trans }}");
document.getElementById("contact-form").submit();
});
}
</script>
{% endif %}
{% if page.code == "contact" %}
<script type="text/javascript">
mapboxgl.accessToken = '{{ mapbox_key }}';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/light-v10',
center: [3.9129083, 46.065271],
zoom: 13
});
var marker = new mapboxgl.Marker({
color: '#883412'
})
.setLngLat([3.9129083, 46.065271])
.addTo(map);
var nav = new mapboxgl.NavigationControl();
map.addControl(nav, 'top-left');
</script>
{% endif %}
{% endblock %}