392 lines
19 KiB
Smarty
392 lines
19 KiB
Smarty
<!doctype html>
|
|
<!--
|
|
______ __ __ ______ __ __ ______
|
|
/\__ _\ /\ \_\ \ /\ ___\ /\ \ /\ \ /\ __ \
|
|
\/_/\ \/ \ \ __ \ \ \ __\ \ \ \____ \ \ \ \ \ __ \
|
|
\ \_\ \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \ \_\ \_\
|
|
\/_/ \/_/\/_/ \/_____/ \/_____/ \/_/ \/_/\/_/
|
|
|
|
|
|
Copyright (c) OpenStudio
|
|
email : info@thelia.net
|
|
web : http://www.thelia.net
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the
|
|
GNU General Public License : http://www.gnu.org/licenses/
|
|
-->
|
|
|
|
{* Declare assets directory, relative to template base directory *}
|
|
{declare_assets directory='assets/dist'}
|
|
{* Set the default translation domain, that will be used by {intl} when the 'd' parameter is not set *}
|
|
{default_translation_domain domain='fo.am'}
|
|
|
|
{* -- Define some stuff for Smarty ------------------------------------------ *}
|
|
{config_load file='variables.conf'}
|
|
{block name="init"}{/block}
|
|
{block name="no-return-functions"}{/block}
|
|
{assign var="store_name" value={config key="store_name"}}
|
|
{assign var="store_description" value={config key="store_description"}}
|
|
{assign var="lang_code" value={lang attr="code"}}
|
|
{assign var="lang_locale" value={lang attr="locale"}}
|
|
{if not $store_name}{assign var="store_name" value={intl l='Thelia V2'}}{/if}
|
|
{if not $store_description}{assign var="store_description" value={$store_name}}{/if}
|
|
|
|
{* paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither *}
|
|
<!--[if lt IE 7 ]><html class="no-js oldie ie6" lang="{$lang_code}"> <![endif]-->
|
|
<!--[if IE 7 ]><html class="no-js oldie ie7" lang="{$lang_code}"> <![endif]-->
|
|
<!--[if IE 8 ]><html class="no-js oldie ie8" lang="{$lang_code}"> <![endif]-->
|
|
<!--[if (gte IE 9)|!(IE)]><!--><html lang="{$lang_code}" class="no-js"> <!--<![endif]-->
|
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
{literal}
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-167113330-1"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'UA-167113330-1');
|
|
</script>
|
|
{/literal}
|
|
<head>
|
|
{hook name="main.head-top"}
|
|
{* Test if javascript is enabled *}
|
|
<script>(function(H) { H.className=H.className.replace(/\bno-js\b/,'js') } )(document.documentElement);</script>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
{* Page Title *}
|
|
<title>{block name="page-title"}{strip}{if $page_title}{$page_title}{elseif $breadcrumbs}{foreach from=$breadcrumbs|array_reverse item=breadcrumb}{$breadcrumb.title|unescape} - {/foreach}{$store_name}{else}{$store_name}{/if}{/strip}{/block}</title>
|
|
|
|
{* Meta Tags *}
|
|
<meta name="generator" content="{intl l='Thelia V2'}">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
{block name="meta"}
|
|
<meta name="description" content="{if $page_description}{$page_description}{else}{$store_description|strip|truncate:120}{/if}">
|
|
{/block}
|
|
|
|
{stylesheets file='assets/dist/css/thelia.min.css'}
|
|
<link rel="stylesheet" href="{$asset_url}">
|
|
{/stylesheets}
|
|
{*
|
|
{stylesheets file='assets/src/css/thelia.css'}
|
|
<link rel="stylesheet" href="{$asset_url}">
|
|
{/stylesheets}
|
|
*}
|
|
|
|
{*
|
|
If you want to generate the CSS assets on the fly, just replace the stylesheet inclusion above by the following.
|
|
Then, in your back-office, go to Configuration -> System Variables and set process_assets to 1.
|
|
Now, when you're accessing the front office in developpement mode (index_dev.php) the CSS is recompiled when a
|
|
change in the source files is detected.
|
|
|
|
See http://doc.thelia.net/en/documentation/templates/assets.html#activate-automatic-assets-generation for details.
|
|
|
|
{stylesheets file='assets/src/less/thelia.less' filters='less'}
|
|
<link rel="stylesheet" href="{$asset_url}">
|
|
{/stylesheets}
|
|
|
|
*}
|
|
|
|
{hook name="main.stylesheet"}
|
|
|
|
{block name="stylesheet"}{/block}
|
|
|
|
{* Favicon *}
|
|
{* PNG file favicons are not supported by IE 10 and lower. In this case, we use the default .ico file in the template. *}
|
|
|
|
<!--[if lt IE 11]>
|
|
<link rel="shortcut icon" type="image/x-icon" href="{image file='assets/dist/img/favicon.ico'}" />
|
|
<![endif]-->
|
|
|
|
{local_media type="favicon" width=32 height=32}
|
|
<link rel="icon" type="{$MEDIA_MIME_TYPE}" href="{$MEDIA_URL}" />
|
|
{/local_media}
|
|
|
|
{* Feeds *}
|
|
<link rel="alternate" type="application/rss+xml" title="{intl l='All products'}" href="{url path="/feed/catalog/%lang" lang=$lang_locale}" />
|
|
<link rel="alternate" type="application/rss+xml" title="{intl l='All contents'}" href="{url path="/feed/content/%lang" lang=$lang_locale}" />
|
|
<link rel="alternate" type="application/rss+xml" title="{intl l='All brands'}" href="{url path="/feed/brand/%lang" lang=$lang_locale}" />
|
|
{block name="feeds"}{/block}
|
|
|
|
{* HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries *}
|
|
<!--[if lt IE 9]>
|
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script>
|
|
{javascripts file="assets/dist/js/vendors/html5shiv.min.js"}
|
|
<script>window.html5 || document.write('<script src="{$asset_url}"><\/script>');</script>
|
|
{/javascripts}
|
|
|
|
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
|
|
{javascripts file="assets/dist/js/vendors/respond.min.js"}
|
|
<script>window.respond || document.write('<script src="{$asset_url}"><\/script>');</script>
|
|
{/javascripts}
|
|
<![endif]-->
|
|
|
|
{hook name="main.head-bottom"}
|
|
|
|
{* Call flatpickr CSS library *}
|
|
<link href="{stylesheet file='assets/node_modules/flatpickr/dist/flatpickr.min.css'}" rel="stylesheet">
|
|
|
|
{* Call flatpickr JS library *}
|
|
<script src="{javascript file="assets/node_modules/flatpickr/dist/flatpickr.min.js"}"></script>
|
|
|
|
{* Localisation *}
|
|
{if $lang_code !== 'en'}
|
|
<script src="{javascript file="assets/node_modules/flatpickr/dist/l10n/$lang_code.js"}"></script>
|
|
{/if}
|
|
</head>
|
|
<body class="{block name="body-class"}{/block}" itemscope itemtype="http://schema.org/WebPage">
|
|
{*FB integration*}
|
|
<div id="fb-root"></div>
|
|
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v6.0"></script>
|
|
|
|
{hook name="main.body-top"}
|
|
|
|
<!-- Accessibility -->
|
|
<a class="sr-only" href="#content">{intl l="Skip to content"}</a>
|
|
|
|
<div class="page" role="document">
|
|
|
|
<div class="header-container" itemscope itemtype="http://schema.org/WPHeader">
|
|
{hook name="main.header-top"}
|
|
{*<header class="container" role="banner">
|
|
<div class="header row">
|
|
<h1 class="logo container hidden-xs">
|
|
<a href="{navigate to="index"}" title="{$store_name}">
|
|
{local_media type="logo"}
|
|
<img src="{$MEDIA_URL}" alt="{$store_name}">
|
|
{/local_media}
|
|
</a>
|
|
</h1>
|
|
{hook name="main.navbar-primary"}
|
|
</div>
|
|
</header><!-- /.header -->*}
|
|
<div class="navbar navbar-default navbar-secondary" id="navbar-secondary" itemscope itemtype="http://schema.org/SiteNavigationElement">
|
|
<div>
|
|
|
|
<div class="navbar-header">
|
|
<!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-secondary">
|
|
<span class="sr-only">{intl l="Toggle navigation"}</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
{*<a class="navbar-brand visible-xs" href="{navigate to="index"}">{$store_name}</a>*}
|
|
{local_media type="logo"}
|
|
<a class="responsive-logo" href="{navigate to="index"}" id="logo-menu">
|
|
<img src="{$MEDIA_URL}" alt="{$TITLE}" class="img-responsive" itemprop="image" data-toggle="magnify">
|
|
</a>
|
|
{/local_media}
|
|
|
|
</div>
|
|
{ifhook rel="main.navbar-secondary"}
|
|
{* Place everything within .nav-collapse to hide it until above 768px *}
|
|
<nav class="navbar-collapse collapse nav-secondary" role="navigation" aria-label="{intl l="Secondary Navigation"}">
|
|
{hook name="main.navbar-secondary"}
|
|
</nav>
|
|
{/ifhook}
|
|
</div>
|
|
</div>
|
|
|
|
{hook name="main.header-bottom"}
|
|
</div><!-- /.header-container -->
|
|
<section id="lead">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-3">
|
|
{if $smarty.template ne "index.html"}
|
|
<h1 id="main-label" class="page-header">
|
|
{category attr="title"}
|
|
{if $smarty.template === "folder.html"}{folder attr="title"}{/if}
|
|
{if $smarty.template === "content.html"}{content attr="title"}{/if}
|
|
{if $smarty.template === "contact.html"}{intl l="Contactez-nous"}{/if}
|
|
{if $smarty.template === "contact-success.html"}{intl l="Contactez-nous"}{/if}
|
|
</h1>
|
|
{else}
|
|
<h1 id="main-label" class="page-header logo-menu">Apart'Moment</h1>
|
|
{/if}
|
|
</div>
|
|
{if $smarty.template === "category.html" || $smarty.template === "product.html" || $smarty.template === "index.html"}
|
|
<div class="col-lg-6 logo-menu">
|
|
<p>{intl l="<em>5 à 10% moins cher</em> que sur les plateformes de réservation."}</p>
|
|
</div>
|
|
{else}
|
|
<div class="col-lg-6">
|
|
|
|
</div>
|
|
{/if}
|
|
<div class="col-lg-3 telephone">
|
|
<a href="tel:{intl l="contact_tel"}">{intl l="contact_tel"}<br><em> {intl l="Prix d'un appel local"}</em></a><small><p>{intl l="7/7 jours de 8h à 22h"}<br>{intl l="Heure de Paris"}</p></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<main class="main-container" role="main">
|
|
<div class="container">
|
|
{hook name="main.content-top"}
|
|
{*{block name="breadcrumb"}{include file="misc/breadcrumb.tpl"}{/block}*}
|
|
<div id="content">{block name="main-content"}{/block}</div>
|
|
{hook name="main.content-bottom"}
|
|
</div><!-- /.container -->
|
|
</main><!-- /.main-container -->
|
|
|
|
<section class="footer-container" itemscope itemtype="http://schema.org/WPFooter">
|
|
|
|
{ifhook rel="main.footer-top"}
|
|
<section class="footer-block">
|
|
<div class="container">
|
|
<div class="blocks row">
|
|
{hook name="main.footer-top"}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
{/ifhook}
|
|
{elsehook rel="main.footer-top"}
|
|
<section class="footer-banner">
|
|
<div class="container">
|
|
<div class="banner row banner-col-6">
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
|
|
<span class="fa fa-key"></span>
|
|
{intl l="Entrée autonome"} <small>{intl l="Pas de contrainte horaire à l'arrivée."}</small>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
|
|
<span class="fa fa-group"></span>
|
|
{intl l="Jusqu'à 5 pers."} <small>{intl l="par appartement."}</small>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
|
|
<span class="fa fa-cutlery"></span>
|
|
{intl l="Cuisine équipée"} <small>{intl l="Des cuisines entièrement équipées !"}</small>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2">
|
|
<span class="fa fa-car"></span>
|
|
{intl l="Parking"} <small>{intl l="Place de parking interne et privé."}</small>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2" id="last-box">
|
|
<span class="fa fa-sun-o"></span>
|
|
{intl l="Terrasse"} <small>{intl l="Profitez des beaux jours en terrasse !"}</small>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-2" id="last-box">
|
|
<span class="fa fa-wifi"></span>
|
|
{intl l="Wi-Fi"} <small>{intl l="Wi-Fi gratuit et sécurisé."}</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section><!-- /.footer-banner -->
|
|
{/elsehook}
|
|
|
|
{ifhook rel="main.footer-body"}
|
|
<section class="footer-block">
|
|
<div class="container">
|
|
<div class="blocks row">
|
|
{hookblock name="main.footer-body" fields="id,class,title,content"}
|
|
{forhook rel="main.footer-body"}
|
|
<div class="col col-sm-3">
|
|
<section {if $id} id="{$id}"{/if} class="block {if $class} block-{$class}{/if}">
|
|
{if $class == "default" || $class == "newsletter"}
|
|
<div class="block-heading"><h3 class="block-title">{$title}</h3></div>
|
|
{/if}
|
|
<div class="block-content">
|
|
{$content nofilter}
|
|
</div>
|
|
</section>
|
|
</div>
|
|
{/forhook}
|
|
{/hookblock}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
{/ifhook}
|
|
|
|
{ifhook rel="main.footer-bottom"}
|
|
<footer class="footer-info" role="contentinfo">
|
|
<div class="container">
|
|
<div class="info row">
|
|
<div class="col-lg-9">
|
|
{hook name="main.footer-bottom"}
|
|
</div>
|
|
<div class="col-lg-3">
|
|
<section class="copyright">{intl l="Copyright"} © <time datetime="{'Y-m-d'|date}">{'Y'|date}</time> <a href="http://www.id-media.fr" rel="external">ID Média</a></section>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
{/ifhook}
|
|
{elsehook rel="main.footer-bottom"}
|
|
<footer class="footer-info" role="contentinfo">
|
|
<div class="container">
|
|
<div class="info row">
|
|
{*<nav class="nav-footer col-lg-9" role="navigation">
|
|
<ul class="list-unstyled list-inline">
|
|
{$folder_information={config key="information_folder_id"}}
|
|
{if $folder_information}
|
|
{loop name="footer_links" type="content" folder=$folder_information}
|
|
<li><a href="{$URL nofilter}">{$TITLE}</a></li>
|
|
{/loop}
|
|
{/if}
|
|
<li><a href="{url path="/contact"}">{intl l="Contact Us"}</a></li>
|
|
</ul>
|
|
</nav>*}
|
|
<div class="col-lg-9">
|
|
<div class="appart-moment-copy"><strong>Apart'Moment</strong> <span>®</span></div>
|
|
</div>
|
|
<div class="col-lg-3">
|
|
<section class="copyright">{intl l="Copyright"} © <time datetime="{'Y-m-d'|date}">{'Y'|date}</time> <a href="http://www.id-media.fr" target="_blanck" rel="external">ID Média</a></section>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer><!-- /.footer-info -->
|
|
{/elsehook}
|
|
|
|
</section><!-- /.footer-container -->
|
|
|
|
</div><!-- /.page -->
|
|
|
|
{block name="before-javascript-include"}{/block}
|
|
<!-- JavaScript -->
|
|
|
|
<!-- Jquery -->
|
|
<!--[if lt IE 9]><script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <![endif]-->
|
|
<!--[if (gte IE 9)|!(IE)]><!--><script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script><!--<![endif]-->
|
|
{javascripts file="assets/dist/js/vendors/jquery.min.js"}
|
|
<script>window.jQuery || document.write('<script src="{$asset_url}"><\/script>');</script>
|
|
{/javascripts}
|
|
|
|
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.min.js"></script>
|
|
{* do no try to load messages_en, as this file does not exists *}
|
|
{if $lang_code != 'en'}
|
|
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/localization/messages_{$lang_code}.js"></script>
|
|
{/if}
|
|
|
|
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
|
|
{javascripts file="assets/dist/js/vendors/bootstrap.min.js"}
|
|
<script>if(typeof($.fn.modal) === 'undefined') { document.write('<script src="{$asset_url}"><\/script>'); }</script>
|
|
{/javascripts}
|
|
|
|
{javascripts file="assets/dist/js/vendors/bootbox.js"}
|
|
<script src="{$asset_url}"></script>
|
|
{/javascripts}
|
|
|
|
{hook name="main.after-javascript-include"}
|
|
|
|
{block name="after-javascript-include"}{/block}
|
|
|
|
{hook name="main.javascript-initialization"}
|
|
<script>
|
|
// fix path for addCartMessage
|
|
// if you use '/' in your URL rewriting, the cart message is not displayed
|
|
// addCartMessageUrl is used in thelia.js to update the mini-cart content
|
|
var addCartMessageUrl = "{url path='ajax/addCartMessage'}";
|
|
</script>
|
|
{block name="javascript-initialization"}{/block}
|
|
|
|
<!-- Custom scripts -->
|
|
<script src="{javascript file='assets/dist/js/thelia.min.js'}?v=3"></script>
|
|
|
|
{hook name="main.body-bottom"}
|
|
|
|
</body>
|
|
</html>
|