Compare commits

...

10 Commits

100 changed files with 6695 additions and 6546 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -12,6 +12,10 @@
}
$(document).on('change', '#quantity', function() {
var $hasDigressivePrice = ($('#has-digressive-price').val() === 'true');
if (!$hasDigressivePrice) return;
var $form = $(this).closest('form');
$.ajax({
url: "{url path="/digressive-price-update"}",
@@ -36,6 +40,6 @@
});
});
$('#quantity').change();
// $('#quantity').change();
});
</script>

File diff suppressed because one or more lines are too long

View File

@@ -79,6 +79,31 @@ div.container {
font-size: 1.72rem;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
background-color: #95c11e;
color: #fff;
}
@media (max-width: 991px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #707070;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #fff;
background-color: #f49a17;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-color: #f49a17;
}
}
.nav>li {
text-transform: uppercase;
}
@@ -89,6 +114,7 @@ div.container {
}
.navbar-customer > li > a {
text-transform: none;
padding: 10px;
}
.header__content .container-fluid {
padding-left: 0;
@@ -159,8 +185,7 @@ div.container {
color: white;
}
.breadcrumb {
text-align: center;
font-size: large;
text-align: left;
margin-bottom: 30px;
}
.checkout-progress .btn-step.active {
@@ -348,3 +373,99 @@ span.product-categorie {
.table-steps .description {
text-align: left;
}
/* Mise en page de la page d'accueil */
@media (min-width: 768px) {
div.header__main {
display: inline-grid !important;
grid-template: 150px / 3fr 250px 1fr 1fr 1fr;
column-gap: 5px;
align-items: center;
margin: auto;
}
div.custom-grid-one {
margin: auto;
width: 100%;
grid-column: 1;
grid-row: 1;
}
div.custom-grid-one > div {
float: right !important;
}
div.custom-grid-two {
margin: auto 40px auto 40px;
grid-column: 2;
grid-row: 1;
}
div.custom-grid-three {
grid-column: 3;
grid-row: 1;
white-space: nowrap;
}
div.custom-grid-four {
margin: 0 25px 0 auto;
grid-column: 4;
grid-row: 1;
white-space: nowrap;
}
}
@media (max-width: 768px) {
div.header__main {
display: grid !important;
grid-template-rows: 1fr 60px 1fr;
grid-template-columns: 1fr 1fr;
text-align: center;
margin: auto;
width: max-content;
line-height: normal;
}
div.custom-grid-one {
grid-row: 1;
grid-column: 1 / 3;
}
.glyphicon-search:before {
display: none !important;
}
div.custom-grid-three {
grid-row: 3;
grid-column: 1 / 3;
justify-self: flex-start;
}
div.custom-grid-four {
grid-row: 2;
grid-column: 1;
justify-self: flex-start;
}
}
.menu-recettes {
list-style: none;
text-transform: uppercase;
font-size: 1.72rem;
line-height: 20px;
}
.menu-recettes > a {
padding: 15px;
color: #3c3c3b !important;
}
.menu-recettes > a:hover {
text-decoration: none;
background-color: #95c11e;
color: white !important;
}
.header__secondary {
width: 90%;
justify-content: center;
}
div.header__bottom {
text-align: center;
}
#carousel .icon-prev,
#carousel .icon-next {
color: black;
}

View File

@@ -126,16 +126,21 @@ GNU General Public License : http://www.gnu.org/licenses/
<div class="header__content">
<div class="header__main">
<h1 class="logo hidden-xs">
<a href="{navigate to="index"}" title="{$store_name}">
{local_media type="logo"}
<img src="{$MEDIA_URL}" alt="{$store_name}" class="logo-boutique">
{/local_media}
</a>
</h1>
{hook name="main.navbar-primary"}
<div class="custom-grid-two">
<h1 class="logo hidden-xs">
<a href="{navigate to="index"}" title="{$store_name}">
{local_media type="logo"}
<img src="{$MEDIA_URL}" alt="{$store_name}" class="logo-boutique">
{/local_media}
</a>
</h1>
</div>
{hook name="main.navbar-secondary"}
</div>
<div class="header__bottom">
<div class="header__secondary">
{hook name="main.navbar-secondary"}
{hook name="main.navbar-primary"}
</div>
</div>
</div>

View File

@@ -0,0 +1,5 @@
<div class="custom-grid-four">
<ul class="nav navbar-nav navbar-cart navbar-right">
{hook name="mini-cart"}
</ul>
</div>

View File

@@ -1,43 +1,45 @@
<ul class="nav navbar-nav navbar-customer navbar-right">
{loop type="auth" name="customer_info_block" role="CUSTOMER"}
<li><a href="{url path="/logout"}" class="logout">{intl l="Log out!" d="hookcustomer.fo.default"}</a></li>
<li><a href="{url path="/account"}" class="account">{intl l="My Account" d="hookcustomer.fo.default"}</a></li>
{/loop}
{elseloop rel="customer_info_block"}
<!-- <li><a href="{url path="/register"}" class="register">{intl l="Register!" d="hookcustomer.fo.default"}</a></li>-->
<li class="dropdown">
<a href="{url path="/login"}" class="login dropdown-toggle">{* {intl l="Log In!" d="hookcustomer.fo.default"} *}<i class="fa fa-user"></i></a>
<div class="dropdown-menu">
{form name="thelia.front.customer.login"}
<form id="form-login-mini" action="{url path="/login"}" method="post" {form_enctype}>
{form_hidden_fields}
{form_field field="success_url"}
<input type="hidden" name="{$name}" value="{navigate to="current"}">
{/form_field}
{form_field field="email"}
<div class="form-group group-email">
<label for="{$label_attr.for}-mini">{intl l="Email address" d="hookcustomer.fo.default"}</label>
<input type="email" name="{$name}" id="{$label_attr.for}-mini" class="form-control input-sm" maxlength="255" aria-required="true" required>
</div>
{/form_field}
{form_field field="password"}
<div class="form-group group-password">
<label for="{$label_attr.for}-mini">{intl l="Password" d="hookcustomer.fo.default"}</label>
<input type="password" name="{$name}" id="{$label_attr.for}-mini" class="form-control input-sm" maxlength="255" aria-required="true" required>
</div>
{/form_field}
{form_field field="account"}
<input type="hidden" name="{$name}" value="1">
{/form_field}
<div class="form-group group-btn">
<button type="submit" class="btn btn-login-mini btn-sm btn-primary"><i class="fa fa-sign-in"></i> {intl l="Sign In" d="hookcustomer.fo.default"}</button>
<a href="{url path="/register"}" class="btn btn-register-mini btn-default btn-sm"><i class="fa fa-user-plus"></i> {intl l="Register" d="hookcustomer.fo.default"}</a>
</div>
<div class="custom-grid-three">
<ul class="nav navbar-nav navbar-customer navbar-right">
{loop type="auth" name="customer_info_block" role="CUSTOMER"}
<li><a href="{url path="/logout"}" class="logout">{intl l="Log out!" d="hookcustomer.fo.default"}</a></li>
<li><a href="{url path="/account"}" class="account">{intl l="My Account" d="hookcustomer.fo.default"}</a></li>
{/loop}
{elseloop rel="customer_info_block"}
<!-- <li><a href="{url path="/register"}" class="register">{intl l="Register!" d="hookcustomer.fo.default"}</a></li>-->
<li class="dropdown">
<a href="{url path="/login"}" class="login dropdown-toggle">{* {intl l="Log In!" d="hookcustomer.fo.default"} *}<i class="fa fa-user"></i></a>
<div class="dropdown-menu">
{form name="thelia.front.customer.login"}
<form id="form-login-mini" action="{url path="/login"}" method="post" {form_enctype}>
{form_hidden_fields}
{form_field field="success_url"}
<input type="hidden" name="{$name}" value="{navigate to="current"}">
{/form_field}
{form_field field="email"}
<div class="form-group group-email">
<label for="{$label_attr.for}-mini">{intl l="Email address" d="hookcustomer.fo.default"}</label>
<input type="email" name="{$name}" id="{$label_attr.for}-mini" class="form-control input-sm" maxlength="255" aria-required="true" required>
</div>
{/form_field}
{form_field field="password"}
<div class="form-group group-password">
<label for="{$label_attr.for}-mini">{intl l="Password" d="hookcustomer.fo.default"}</label>
<input type="password" name="{$name}" id="{$label_attr.for}-mini" class="form-control input-sm" maxlength="255" aria-required="true" required>
</div>
{/form_field}
{form_field field="account"}
<input type="hidden" name="{$name}" value="1">
{/form_field}
<div class="form-group group-btn">
<button type="submit" class="btn btn-login-mini btn-sm btn-primary"><i class="fa fa-sign-in"></i> {intl l="Sign In" d="hookcustomer.fo.default"}</button>
<a href="{url path="/register"}" class="btn btn-register-mini btn-default btn-sm"><i class="fa fa-user-plus"></i> {intl l="Register" d="hookcustomer.fo.default"}</a>
</div>
<a href="{url path="/password"}" class="mini-forgot-password">{intl l="Forgot your Password?" d="hookcustomer.fo.default"}</a>
</form>
{/form}
</div>
</li>
{/elseloop}
</ul>
<a href="{url path="/password"}" class="mini-forgot-password">{intl l="Forgot your Password?" d="hookcustomer.fo.default"}</a>
</form>
{/form}
</div>
</li>
{/elseloop}
</ul>
</div>

View File

@@ -7,7 +7,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand visible-xs-block visible-sm-block" href="{navigate to="index"}">{intl l="Categories" d="hooknavigation.fo.default"}</a>
<a class="navbar-brand visible-sm-block" href="{navigate to="index"}">{intl l="Categories" d="hooknavigation.fo.default"}</a>
</div>
<div class="collapse navbar-collapse" id="navbar-primary">
<ul class="nav navbar-nav navbar-categories">
@@ -26,9 +26,7 @@
<li><a href="{$URL}">{$TITLE}</a></li>
{/if}
{/loop}
<li><a href="/nos-recettes.html">Nos recettes</a></li>
</ul>
</div>
</div>

View File

@@ -1,9 +1,11 @@
<div class="search-container navbar-form navbar-left">
<form id="form-search" action="{url path="/search"}" method="get" role="search" aria-labelledby="search-label">
<label id="search-label" class="sr-only" for="q">{intl l="Search a product" d="hooksearch.fo.default"}</label>
<i class="glyphicon glyphicon-search" id="search-button">
<input type="search" name="q" id="q" placeholder="{intl l="Search..." d="hooksearch.fo.default"}" class="form-control" autocomplete="off" aria-required="true" required pattern=".{ldelim}2,{rdelim}" title="{intl l="Minimum 2 characters." d="hooksearch.fo.default"}">
</i>
{* <button type="submit" class="btn btn-search"><i class="fa fa-search"></i> <span class="sr-only">{intl l="Search" d="hooksearch.fo.default"}</span></button> *}
</form>
<div class="custom-grid-one">
<div class="search-container navbar-form navbar-left">
<form id="form-search" action="{url path="/search"}" method="get" role="search" aria-labelledby="search-label">
<label id="search-label" class="sr-only" for="q">{intl l="Search a product" d="hooksearch.fo.default"}</label>
<i class="glyphicon glyphicon-search" id="search-button-">
<input type="search" name="q" id="q" placeholder="{intl l="Search..." d="hooksearch.fo.default"}" class="form-control" autocomplete="off" aria-required="true" required pattern=".{ldelim}2,{rdelim}" title="{intl l="Minimum 2 characters." d="hooksearch.fo.default"}">
</i>
<!-- <button type="submit" class="btn btn-search"><i class="fa fa-search"></i> <span class="sr-only">{intl l="Search" d="hooksearch.fo.default"}</span></button>-->
</form>
</div>
</div>

View File

@@ -32,36 +32,40 @@
<th>{intl l="Created on" d="recettes"}&nbsp;<i class="glyphicon glyphicon-arrow-down"></i></th>
</thead>
<tbody>
{loop type="content" name="content-loop" folder=1 visible="yes" order="created_reverse"}
{loop type="image" name="image-loop" content=$ID visible=true position=1}
{assign var="image" value="$IMAGE_URL"}
{ifloop rel="content-loop"}
{loop type="content" name="content-loop" folder=1 visible="yes" order="created_reverse"}
{loop type="image" name="image-loop" content=$ID visible=true position=1}
{assign var="image" value="$IMAGE_URL"}
{/loop}
{loop type="recipe" name="recipe-loop" content_id=$ID limit="1"}
{assign var="title" value="$TITLE"}
{assign var="summary" value="$SUMMARY"}
{if $DIFFICULTY eq 0}{assign var="label_difficulty" value="Facile"}{/if}
{if $DIFFICULTY eq 1}{assign var="label_difficulty" value="Moyen"}{/if}
{if $DIFFICULTY eq 2}{assign var="label_difficulty" value="Difficile"}{/if}
{/loop}
<tr>
<td class="table-liste-recettes-image">
<a href="{$URL}"><img src="{$image}" alt="Photo principale"></a>
</td>
<td class="table-liste-recettes-titre">
<a href="{$URL}"><span>{$title}</span></a>
</td>
<td class="table-liste-recettes-resume">
<a href="{$URL}"><span>{$summary|unescape:"html" nofilter}</span></a>
</td>
<td class="table-liste-recettes-autre-texte">
<a href="{$URL}"><span>{$label_difficulty}</span></a>
</td>
<td class="table-liste-recettes-autre-texte">
<a href="{$URL}"><span>{format_date date=$CREATE_DATE format="d/m/Y"}</span></a>
</td>
</tr>
{/loop}
{loop type="recipe" name="recipe-loop" content_id=$ID limit="1"}
{assign var="title" value="$TITLE"}
{assign var="summary" value="$SUMMARY"}
{if $DIFFICULTY eq 0}{assign var="label_difficulty" value="Facile"}{/if}
{if $DIFFICULTY eq 1}{assign var="label_difficulty" value="Moyen"}{/if}
{if $DIFFICULTY eq 2}{assign var="label_difficulty" value="Difficile"}{/if}
{/loop}
<tr>
<td class="table-liste-recettes-image">
<a href="{$URL}"><img src="{$image}" alt="Photo principale"></a>
</td>
<td class="table-liste-recettes-titre">
<a href="{$URL}"><span>{$title}</span></a>
</td>
<td class="table-liste-recettes-resume">
<a href="{$URL}"><span>{$summary|unescape:"html" nofilter}</span></a>
</td>
<td class="table-liste-recettes-autre-texte">
<a href="{$URL}"><span>{$label_difficulty}</span></a>
</td>
<td class="table-liste-recettes-autre-texte">
<a href="{$URL}"><span>{format_date date=$CREATE_DATE format="d/m/Y"}</span></a>
</td>
</tr>
{/loop}
{/ifloop}
{elseloop rel="content-loop"}
<tr><td colspan="5" style="text-align: center; font-size: larger">Encore un peu de patience, on vous prépare de bonnes idées de recettes...</td></tr>
{/elseloop}
</tbody>
</table>

View File

@@ -219,6 +219,7 @@
{/if}
</span>
{/loop}
<input type="hidden" id="has-digressive-price" value="true">
{/ifloop}
{elseloop rel="dp"}
<span id="pse-promo">
@@ -229,8 +230,15 @@
<span class="old-price"><span class="price-label">{intl l="Regular Price:"} </span><span id="pse-price-old" class="price">{format_money number=$TAXED_PRICE}</span></span>
{/if}
</span>
<input type="hidden" id="has-digressive-price" value="false">
{/elseloop}
<!-- TheCoreDev le 21/05/2021 : rajout du prix au kilo -->
<!-- <div class="prix-au-kilo">-->
<!-- <label>{intl l="Price per kg"}</label>-->
<!-- <span>{format_money number=0 symbol={currency attr="symbol"}}</span>-->
<!-- </div>-->
</div>
<!-- Affichage de l'unité (au kg, à l'unité) //-->
{if $pse_count == 1}
{loop name="attributes" type="attribute" product="$product_id" order="manual"}