first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
/**
* 2007-2017 Leotheme
*
* NOTICE OF LICENSE
*
* Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*
* DISCLAIMER
*
* @Module Name: Leo Feature
* @author leotheme <leotheme@gmail.com>
* @copyright 2007-2017 Leotheme
* @license http://leotheme.com - prestashop template provider
*/
.leofeature-tablist a:hover, .leofeature-tablist li.active a {
border-bottom: medium none !important;
border-top: 3px solid #25b9d7 !important;
}
.leofeature-tablist a:focus {
border-bottom: medium none !important;
border-top: 3px solid #25b9d7 !important;
}
#leofeature-setting .panel {
display: none;
}
#leofeature-setting .panel.active {
display: block;
}
#leofeature-setting .panel {
border-radius: 0 0 5px 5px !important;
}
.nav-tabs.leofeature-tablist a:focus {
outline: medium none;
}
#subtab-AdminLeofeatureReviews
{
position: relative;
}
#subtab-AdminLeofeatureReviews .notification-container
{
position: absolute;
top: 0;
right: 0;
display: inline-block;
line-height: .875rem;
height: .875rem;
vertical-align: middle;
color: #fff;
background: #fb0;
font-size: .5625rem;
padding: 0 .25rem;
border-radius: .625rem;
}
#subtab-AdminLeofeatureManagement.has-review:after
{
content: "";
position: absolute;
top:0;
right: 0;
background: #fb0;
border-radius: .625rem;
height: 10px;
width: 10px;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,87 @@
/**
* 2007-2017 Leotheme
*
* NOTICE OF LICENSE
*
* Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*
* DISCLAIMER
*
* @Module Name: Leo Feature
* @author leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @license http://leotheme.com - prestashop template provider
*/
$(document).ready(function() {
$('select#id_product_review_criterion_type').change(function() {
// PS 1.6
$('#categoryBox').closest('div.form-group').hide();
$('#ids_product').closest('div.form-group').hide();
// PS 1.5
$('#categories-treeview').closest('div.margin-form').hide();
$('#categories-treeview').closest('div.margin-form').prev().hide();
$('#ids_product').closest('div.margin-form').hide();
$('#ids_product').closest('div.margin-form').prev().hide();
if (this.value == 2)
{
$('#categoryBox').closest('div.form-group').show();
// PS 1.5
$('#categories-treeview').closest('div.margin-form').show();
$('#categories-treeview').closest('div.margin-form').prev().show();
}
else if (this.value == 3)
{
$('#ids_product').closest('div.form-group').show();
// PS 1.5
$('#ids_product').closest('div.margin-form').show();
$('#ids_product').closest('div.margin-form').prev().show();
}
});
$('select#id_product_review_criterion_type').trigger("change");
//DONGND:: tab change in group config
var id_panel = $("#leofeature-setting .leofeature-tablist li.active a").attr("href");
$(id_panel).addClass('active').show();
$('.leofeature-tablist li').click(function(){
if(!$(this).hasClass('active'))
{
var default_tab = $(this).find('a').attr("href");
$('#LEOFEATURE_DEFAULT_TAB').val(default_tab);
}
})
// console.log('test');
if (typeof leofeature_module_dir != 'undefined')
{
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: leofeature_module_dir + 'psajax.php?rand=' + new Date().getTime(),
async: true,
cache: false,
data: {
"action": "get-new-review",
},
success: function (result)
{
if(result != '')
{
var obj = $.parseJSON(result);
if (obj.number_review > 0)
{
$('#subtab-AdminLeofeatureManagement').addClass('has-review');
// $('#subtab-AdminLeofeatureReviews').append('<span id="total_notif_number_wrapper" class="notifs_badge"><span id="total_notif_value">'+obj.number_review+'</span></span>');
$('#subtab-AdminLeofeatureReviews').append('<div class="notification-container"><span class="notification-counter">'+obj.number_review+'</span></div>');
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
// alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
}
});
}
});

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
/**
* 2007-2017 Leotheme
*
* NOTICE OF LICENSE
*
* Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*
* DISCLAIMER
*
* @Module Name: Leo Feature
* @author leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @license http://leotheme.com - prestashop template provider
*/
/*!
* jQuery Mousewheel 3.1.13
*
* Copyright 2015 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});

View File

@@ -0,0 +1,26 @@
/**
* 2007-2017 Leotheme
*
* NOTICE OF LICENSE
*
* Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*
* DISCLAIMER
*
* @Module Name: Leo Feature
* @author leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @license http://leotheme.com - prestashop template provider
*/
/*
### jQuery Star Rating Plugin v2.0 - 2008-03-12 ###
By Diego A, http://www.fyneworks.com, diego@fyneworks.com
- v2 by Keith Wood, kbwood@virginbroadband.com.au
Project: http://plugins.jquery.com/project/MultipleFriendlyStarRating
Website: http://www.fyneworks.com/jquery/star-rating/
This is a modified version of the star rating plugin from:
http://www.phpletter.com/Demo/Jquery-Star-Rating-Plugin/
*/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';4(w)(3($){$.Y.T=3(c){c=$.15({m:\'X U\',E:\'\',B:z,8:z},c||{});o d={};o e={t:3(n,a,b){2.6(n);$(a).D(\'.j\').A().l(b||\'x\')},6:3(n){$(d[n].7).O(\'.j\').u(\'9\').u(\'x\')},h:3(n){4(!$(d[n].5).Z(\'.m\')){$(d[n].5).D(\'.j\').A().l(\'9\')}},g:3(n,a){d[n].5=a;o b=$(a).L(\'a\').K();$(d[n].7).J(b);e.6(n);e.h(n);4(c.I)c.I.W(d[n].7,[b,a])}};2.V(3(i){o n=2.G;4(!d[n])d[n]={r:0};i=d[n].r;d[n].r++;4(i==0){c.8=$(2).S(\'p\')||c.8;d[n].7=$(\'<R Q="P" G="\'+n+\'" q=""\'+(c.8?\' p="p"\':\'\')+\'>\');$(2).C(d[n].7);4(c.8||c.B){}F{$(2).C($(\'<k y="m"><a s="\'+c.m+\'">\'+c.E+\'</a></k>\').H(3(){e.6(n);$(2).l(\'9\')}).v(3(){e.h(n);$(2).u(\'9\')}).g(3(){e.g(n,2)}))}};f=$(\'<k y="j"><a s="\'+(2.s||2.q)+\'">\'+2.q+\'</a></k>\');$(2).N(f);4(c.8){$(f).l(\'M\')}F{$(f).H(3(){e.6(n);e.t(n,2)}).v(3(){e.6(n);e.h(n)}).g(3(){e.g(n,2)})};4(2.14)d[n].5=f;$(2).13();4(i+1==2.12)e.h(n)});11(n 10 d)4(d[n].5){e.t(n,d[n].5,\'9\');$(d[n].7).J($(d[n].5).L(\'a\').K())}16 2}})(w);',62,69,'||this|function|if|currentElem|drain|valueElem|readOnly|star_on||||||eStar|click|reset||star|div|addClass|cancel||var|disabled|value|count|title|fill|removeClass|mouseout|jQuery|star_hover|class|false|andSelf|required|before|prevAll|cancelValue|else|name|mouseover|callback|val|text|children|star_readonly|after|siblings|hidden|type|input|attr|rating|Rating|each|apply|Cancel|fn|is|in|for|length|remove|checked|extend|return'.split('|'),0,{}));

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,234 @@
/**
* 2007-2017 Leotheme
*
* NOTICE OF LICENSE
*
* Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*
* DISCLAIMER
*
* @Module Name: Leo Feature
* @author leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @license http://leotheme.com - prestashop template provider
*/
$(document).ready(function(){
createLeoCompareModalPopup();
LeoCompareButtonAction();
prestashop.on('updateProductList', function() {
LeoCompareButtonAction();
});
//DONGND:: recall button action if need when change attribute at product page
prestashop.on('updatedProduct', function() {
LeoCompareButtonAction();
});
prestashop.on('clickQuickView', function() {
check_active_compare = setInterval(function(){
if($('.quickview.modal').length)
{
$('.quickview.modal').on('shown.bs.modal', function (e) {
LeoCompareButtonAction();
})
clearInterval(check_active_compare);
}
}, 300);
});
activeEventModalCompare();
});
function createLeoCompareModalPopup()
{
var leoCompareModalPopup = '';
leoCompareModalPopup += '<div class="modal leo-modal leo-modal-compare fade" tabindex="-1" role="dialog" aria-hidden="true">';
leoCompareModalPopup += '<div class="modal-dialog" role="document">';
leoCompareModalPopup += '<div class="modal-content">';
leoCompareModalPopup += '<div class="modal-header">';
leoCompareModalPopup += '<button type="button" class="close" data-dismiss="modal" aria-label="Close">';
leoCompareModalPopup += '<span aria-hidden="true">&times;</span>';
leoCompareModalPopup += '</button>';
leoCompareModalPopup += '<h5 class="modal-title text-xs-center">';
leoCompareModalPopup += '</h5>';
leoCompareModalPopup += '</div>';
leoCompareModalPopup += '</div>';
leoCompareModalPopup += '</div>';
leoCompareModalPopup += '</div>';
$('body').append(leoCompareModalPopup);
}
function LeoCompareButtonAction()
{
$('.leo-compare-button').click(function(){
if (!$('.leo-compare-button.active').length)
{
var total_product_compare = compared_products.length;
var id_product = $(this).data('id-product');
var content_product_compare_mess_remove = productcompare_remove+'. <a href="'+productcompare_url+'"><strong>'+productcompare_viewlistcompare+'.</strong></a>';
var content_product_compare_mess_add = productcompare_add+'. <a href="'+productcompare_url+'"><strong>'+productcompare_viewlistcompare+'.</strong></a>';
var content_product_compare_mess_max = productcompare_max_item+'. <a href="'+productcompare_url+'"><strong>'+productcompare_viewlistcompare+'.</strong></a>';
$(this).addClass('active');
$(this).find('.leo-compare-bt-loading').css({'display':'block'});
$(this).find('.leo-compare-bt-content').hide();
var object_e = $(this);
if ($(this).hasClass('added') || $(this).hasClass('delete'))
{
//DONGND:: remove product form list product compare
//DONGND:: add product to list product compare
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: productcompare_url+ '?rand=' + new Date().getTime(),
async: true,
cache: false,
data: {
"ajax": 1,
"action": "remove",
"id_product": id_product,
"token": leo_token
},
success: function (result)
{
// console.log(result);
if (result == 1)
{
//Leotheme add: update number product on icon compare
if ($('.ap-btn-compare .ap-total-compare').length)
{
var old_num_compare = parseInt($('.ap-btn-compare .ap-total-compare').data('compare-total'));
var new_num_compare = old_num_compare-1;
$('.ap-btn-compare .ap-total-compare').data('compare-total',new_num_compare);
$('.ap-btn-compare .ap-total-compare').text(new_num_compare);
}
compared_products.splice($.inArray(parseInt(id_product), compared_products), 1);
if (object_e.hasClass('delete'))
{
//DONGND:: remove from page product compare
if ($('.leo-productscompare-item').length == 1)
{
window.location.replace(productcompare_url);
}
else
{
$('td.product-'+id_product).fadeOut(function(){
$(this).remove();
});
}
}
else
{
//DONGND:: remove from page product list
$('.leo-modal-compare .modal-title').html(content_product_compare_mess_remove);
$('.leo-modal-compare').modal('show');
$('.leo-compare-button[data-id-product='+id_product+']').removeClass('added');
$('.leo-compare-button[data-id-product='+id_product+']').attr('title',buttoncompare_title_add);
// object_e.find('.leo-compare-bt-loading').hide();
// object_e.find('.leo-compare-bt-content').show();
}
}
else
{
$('.leo-modal-compare .modal-title').html(productcompare_remove_error);
$('.leo-modal-compare').modal('show');
}
object_e.find('.leo-compare-bt-loading').hide();
object_e.find('.leo-compare-bt-content').show();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
}
});
}
else
{
if (total_product_compare < comparator_max_item)
{
//DONGND:: add product to list product compare
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: productcompare_url+ '?rand=' + new Date().getTime(),
async: true,
cache: false,
data: {
"ajax": 1,
"action": "add",
"id_product": id_product,
"token": leo_token,
},
success: function (result)
{
// console.log(result);
if (result == 1)
{
$('.leo-modal-compare .modal-title').html(content_product_compare_mess_add);
$('.leo-modal-compare').modal('show');
//Leotheme add: update number product on icon compare
if ($('.ap-btn-compare .ap-total-compare').length)
{
var old_num_compare = parseInt($('.ap-btn-compare .ap-total-compare').data('compare-total'));
var new_num_compare = old_num_compare+1;
$('.ap-btn-compare .ap-total-compare').data('compare-total',new_num_compare);
$('.ap-btn-compare .ap-total-compare').text(new_num_compare);
}
compared_products.push(id_product);
$('.leo-compare-button[data-id-product='+id_product+']').addClass('added');
$('.leo-compare-button[data-id-product='+id_product+']').attr('title',buttoncompare_title_remove);
}
else
{
$('.leo-modal-compare .modal-title').html(productcompare_add_error);
$('.leo-modal-compare').modal('show');
}
object_e.find('.leo-compare-bt-loading').hide();
object_e.find('.leo-compare-bt-content').show();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
}
});
}
else
{
//DONGND:: list product compare limited
$('.leo-modal-compare .modal-title').html(content_product_compare_mess_max);
$('.leo-modal-compare').modal('show');
object_e.find('.leo-compare-bt-loading').hide();
object_e.find('.leo-compare-bt-content').show();
}
}
}
return false;
})
}
function activeEventModalCompare()
{
$('.leo-modal-compare').on('hide.bs.modal', function (e) {
// console.log($('.leo-modal-review-bt').length);
if ($('.leo-compare-button.active').length)
{
// console.log('aaa');
$('.leo-compare-button.active').removeClass('active');
}
})
$('.leo-modal-compare').on('hidden.bs.modal', function (e) {
$('body').css('padding-right', '');
})
$('.leo-modal-compare').on('shown.bs.modal', function (e) {
if ($('.quickview.modal').length)
{
$('.quickview.modal').modal('hide');
}
});
}

View File

@@ -0,0 +1,306 @@
/**
* 2007-2017 Leotheme
*
* NOTICE OF LICENSE
*
* Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*
* DISCLAIMER
*
* @Module Name: Leo Feature
* @author leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @license http://leotheme.com - prestashop template provider
*/
$(document).ready(function(){
if ($('.open-review-form').length)
{
var id_product = $('.open-review-form').data('id-product');
var is_logged = $('.open-review-form').data('is-logged');
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: prestashop.urls.base_url + 'modules/leofeature/psajax_review.php?rand=' + new Date().getTime(),
async: true,
cache: false,
data: {
"action": "render-modal-review",
"id_product": id_product,
"is_logged": is_logged,
"token": leo_token
},
success: function (result)
{
if(result != '')
{
$('body').append(result);
activeEventModalReview();
activeStar();
$('.open-review-form').fadeIn('fast');
}
else
{
alert(review_error);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
// alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
}
});
$('.open-review-form').click(function(){
if ($('#criterions_list').length)
{
$('.leo-modal-review').modal('show');
}
else
{
if ($('.leo-modal-review .modal-body .disable-form-review').length)
{
$('.leo-modal-review').modal('show');
}
else
{
$('.leo-modal-review-bt').remove();
$('.leo-modal-review .modal-header').remove();
$('.leo-modal-review .modal-body').empty();
$('.leo-modal-review .modal-body').append('<div class="form-group disable-form-review has-danger text-center"><label class="form-control-label">'+disable_review_form_txt+'</label></div>');
$('.leo-modal-review').modal('show');
}
}
return false;
});
}
$('.read-review').click(function(){
// if ($('.leo-product-show-review-title').length && $('#leo-product-show-review-content').length)
if ($('.leo-product-show-review-title').length)
{
if ($('.leo-product-show-review-title').hasClass('leofeature-accordion'))
{
if ($('.leo-product-show-review-title').hasClass('collapsed'))
{
$('.leo-product-show-review-title').trigger('click');
}
var timer = setInterval(function() {
if ($('#collapseleofeatureproductreview').hasClass('collapse in') || $('#collapsereviews').hasClass('collapse in')) {
//run some other function
$('html, body').animate({
scrollTop: $('.leo-product-show-review-title').offset().top
}, 500);
clearInterval(timer);
}
}, 200);
}
else
{
$('.leo-product-show-review-title').trigger('click');
$('html, body').animate({
scrollTop: $('.leo-product-show-review-title').offset().top
}, 500);
}
}
return false;
});
$('.usefulness_btn').click(function(){
if (!$(this).hasClass('disabled'))
{
$(this).addClass('active');
$(this).parents('.review_button').find('.usefulness_btn').addClass('disabled');
var id_product_review = $(this).data('id-product-review');
var is_usefull = $(this).data('is-usefull');
var e_parent_button = $(this).parent();
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: prestashop.urls.base_url + 'modules/leofeature/psajax_review.php?rand=' + new Date().getTime(),
async: true,
cache: false,
data: {
"action": "add-review-usefull",
"id_product_review": id_product_review,
"is_usefull": is_usefull,
"token": leo_token
},
success: function (result)
{
if (result != '')
{
e_parent_button.fadeOut(function(){
e_parent_button.remove();
});
}
else
{
alert(review_error);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
// window.location.replace($('.open-review-form').data('product-link'));
}
});
}
});
$('.report_btn').click(function(){
if (!$(this).hasClass('disabled'))
{
$(this).addClass('disabled');
var e_button = $(this);
var id_product_review = $(this).data('id-product-review');
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: prestashop.urls.base_url + 'modules/leofeature/psajax_review.php?rand=' + new Date().getTime(),
async: true,
cache: false,
data: {
"action": "add-review-report",
"id_product_review": id_product_review,
"token": leo_token
},
success: function (result)
{
if (result != '')
{
e_button.fadeOut(function(){
e_button.remove();
});
}
else
{
alert(review_error);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
// window.location.replace($('.open-review-form').data('product-link'));
}
});
}
return false;
});
// activeEventModalReview();
activeStar();
});
function activeStar()
{
//DONGND:: add txt cancel rating to translate
$('input.star').rating({cancel: cancel_rating_txt});
$('.auto-submit-star').rating({cancel: cancel_rating_txt});
}
function activeEventModalReview()
{
$('.form-new-review').submit(function(){
if ($('.new_review_form_content .form-group.leo-has-error').length || $('.leo-fake-button').hasClass('validate-ok'))
{
return false;
}
});
$('.leo-modal-review').on('show.bs.modal', function (e) {
$('.leo-modal-review-bt').click(function(){
if (!$(this).hasClass('active'))
{
$(this).addClass('active');
$('.leo-modal-review-bt-text').hide();
$('.leo-modal-review-loading').css({'display':'block'});
$('.new_review_form_content input, .new_review_form_content textarea').each(function(){
if ($(this).val() == '')
{
$(this).parent('.form-group').addClass('leo-has-error');
$(this).attr("required", "");
}
else
{
$(this).parent('.form-group').removeClass('leo-has-error');
$(this).removeAttr('required');
}
})
if ($('.new_review_form_content .form-group.leo-has-error').length)
{
$(this).removeClass('active');
$('.leo-modal-review-bt-text').show();
$('.leo-modal-review-loading').hide();
}
else
{
// console.log('pass');
// $('.leo-modal-review-bt').remove();
// console.log($( ".new_review_form_content input, .new_review_form_content textarea" ).serialize());
$('.leo-fake-button').addClass('validate-ok');
$.ajax({
type: 'POST',
headers: {"cache-control": "no-cache"},
url: prestashop.urls.base_url + 'modules/leofeature/psajax_review.php?action=add-new-review&token='+leo_token+'&rand=' + new Date().getTime(),
async: true,
cache: false,
data: $( ".new_review_form_content input, .new_review_form_content textarea" ).serialize(),
success: function (result)
{
if (result != '')
{
var object_result = $.parseJSON(result);
// console.log(object_result);
$('.leo-modal-review-bt').fadeOut('slow', function(){
$(this).remove();
});
$('.leo-modal-review .modal-body>.row').fadeOut('slow', function(){
$(this).remove();
if (object_result.result)
{
$('.leo-modal-review .modal-body').append('<div class="form-group has-success"><label class="form-control-label">'+object_result.sucess_mess+'</label></div>');
}
else
{
// $('.leo-modal-review .modal-body').append('<div class="form-group has-danger text-center"></div>');
$.each(object_result.errors, function(key, val){
$('.leo-modal-review .modal-body').append('<div class="form-group has-danger text-center"><label class="form-control-label">'+val+'</label></div>');
});
}
});
}
else
{
alert(review_error);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("TECHNICAL ERROR: \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
window.location.replace($('.open-review-form').data('product-link'));
}
});
}
$('.leo-fake-button').trigger('click');
}
})
})
$('.leo-modal-review').on('hide.bs.modal', function (e) {
// console.log($('.leo-modal-review-bt').length);
if (!$('.leo-modal-review-bt').length && !$('.leo-modal-review .modal-body .disable-form-review').length)
{
// console.log('aaa');
// window.location.replace($('.open-review-form').data('product-link'));
location.reload();
}
})
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,53 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{extends file="helpers/form/form.tpl"}
{block name="input"}
{if $input.type == 'products'}
<table id="{$input.name}">
<tr>
<th></th>
<th>ID</th>
<th width="80%">{l s='Product Name' mod='leofeature'}</th>
</tr>
{foreach $input.values as $value}
<tr>
<td>
<input type="checkbox" name="{$input.name}[]" value="{$value.id_product}"
{if isset($value.selected) && $value.selected == 1} checked {/if} />
</td>
<td>{$value.id_product}</td>
<td width="80%">{$value.name}</td>
</tr>
{/foreach}
</table>
{elseif $input.type == 'switch' && $smarty.const._PS_VERSION_|@addcslashes:'\'' < '1.6'}
{foreach $input.values as $value}
<input type="radio" name="{$input.name}" id="{$value.id}" value="{$value.value|escape:'html':'UTF-8'}"
{if $fields_value[$input.name] == $value.value}checked="checked"{/if}
{if isset($input.disabled) && $input.disabled}disabled="disabled"{/if} />
<label class="t" for="{$value.id}">
{if isset($input.is_bool) && $input.is_bool == true}
{if $value.value == 1}
<img src="../img/admin/enabled.gif" alt="{$value.label}" title="{$value.label}" />
{else}
<img src="../img/admin/disabled.gif" alt="{$value.label}" title="{$value.label}" />
{/if}
{else}
{$value.label}
{/if}
</label>
{if isset($input.br) && $input.br}<br />{/if}
{if isset($value.p) && $value.p}<p>{$value.p}</p>{/if}
{/foreach}
{else}
{$smarty.block.parent}
{/if}
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2016 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2016 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2016 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<a href="{$href}" class="btn btn-success" title="{$action}" >
<i class="icon-check"></i> {$action}
</a>

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<a href="{$href}" class="btn btn-info" title="{$action}" >
<i class="icon-check"></i> {$action}
</a>

View File

@@ -0,0 +1,47 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="panel form-horizontal">
<div class="form-group">
<div class="col-lg-1">
<a class="megamenu-correct-module btn btn-success" href="{$url_admin}&success=correct&correctmodule=1">
<i class="icon-AdminParentPreferences"></i>{l s='Correct module' mod='leofeature'}
</a>
</div>
<label class="control-label col-lg-3">* {l s='Please backup the database before run correct module to safe' mod='leofeature'}</label>
</div>
</div>
<div id="leofeature-group">
<div class="panel panel-default">
<div class="panel-heading"><i class="icon-cogs"></i> {l s='Leo Feature Global Config' mod='leofeature'}</div>
<div class="panel-content" id="leofeature-setting">
<ul class="nav nav-tabs leofeature-tablist" role="tablist">
<li class="nav-item{if $default_tab == '#fieldset_0'} active{/if}">
<a class="nav-link" href="#fieldset_0" role="tab" data-toggle="tab">{l s='Ajax Cart' mod='leofeature'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_1_1'} active{/if}">
<a class="nav-link" href="#fieldset_1_1" role="tab" data-toggle="tab">{l s='Product Review' mod='leofeature'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_2_2'} active{/if}">
<a class="nav-link" href="#fieldset_2_2" role="tab" data-toggle="tab">{l s='Product Compare' mod='leofeature'}</a>
</li>
<li class="nav-item{if $default_tab == '#fieldset_3_3'} active{/if}">
<a class="nav-link" href="#fieldset_3_3" role="tab" data-toggle="tab">{l s='Product Wishlist' mod='leofeature'}</a>
</li>
</ul>
<div class="tab-content">
{$globalform}{* HTML form , no escape necessary *}
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,199 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if $only_total != 1}
<div class="leo-dropdown-cart-content">
<div class="leo-dropdown-list-item-header">
<h2>Koszyk</h2>
</div>
<div class="leo-dropdown-list-item-warpper">
<ul class="leo-dropdown-list-item">{foreach from=$cart.products item=product name="cart_product"}<li
style="width: {$width_cart_item}px; height: {$height_cart_item}px"
class="leo-dropdown-cart-item clearfix{if ($product.attributes|count && $show_combination) || ($product.customizations|count && $show_customization)} has-view-additional{/if}{if $smarty.foreach.cart_product.first} first{/if}{if $smarty.foreach.cart_product.last} last{/if}">
<div class="leo-cart-item-img">
{if $product.images}
<a class="label" href="{$product.url}" title="{$product.name}"><img class="img-fluid"
src="{$product.images.0.bySize.small_default.url}" alt="{$product.name}" title="{$product.name}" /></a>
{/if}
</div>
<div class="leo-cart-item-info">
<div class="product-name"><a class="label" href="{$product.url}"
title="{$product.name}">{$product.name|truncate:18:'...'}</a></div>
<div class="product-price">
{if $product.has_discount}
<div class="product-discount">
<span class="regular-price">{$product.regular_price}</span>
{if $product.discount_type === 'percentage'}
<span class="discount discount-percentage">
-{$product.discount_percentage_absolute}
</span>
{else}
<span class="discount discount-amount">
-{$product.discount_to_display}
</span>
{/if}
</div>
{/if}
<div class="current-price">
<span class="price">{$product.price}</span>
</div>
{if $product.unit_price_full}
<div class="unit-price-cart">{$product.unit_price_full}</div>
{/if}
</div>
{if $enable_update_quantity}
<div class="product-quantity">
{if $enable_button_quantity}
<a href="javascript:void(0)" class="leo-bt-product-quantity leo-bt-product-quantity-down"><i
class="material-icons">&#xE15B;</i></a>
{/if}
<input class="leo-input-product-quantity input-group" data-down-url="{$product.down_quantity_url}"
data-up-url="{$product.up_quantity_url}" data-update-url="{$product.update_quantity_url}"
data-id-product="{$product.id_product|escape:'javascript'}"
data-id-product-attribute="{$product.id_product_attribute|escape:'javascript'}"
data-id-customization="{$product.id_customization|escape:'javascript'}"
data-min-quantity="{$product.minimal_quantity}" data-product-quantity="{$product.quantity}"
data-quantity-available="{$product.quantity_available}" type="text" value="{$product.quantity}"
min="{$product.minimal_quantity}" />
{if $enable_button_quantity}
<a href="javascript:void(0)" class="leo-bt-product-quantity leo-bt-product-quantity-up"><i
class="material-icons">&#xE145;</i></a>
{/if}
</div>
{else}
<div class="product-quantity"><span class="lablel">{l s='Quantity' mod='leofeature'}</span>:
{$product.quantity}</div>
{/if}
</div>
{* <a class="leo-remove-from-cart" *}
<a class="leo-remove-from-cart-own" href="{$product.remove_from_cart_url}"
title="{l s='Remove from cart' mod='leofeature'}" data-link-url="{$productNaNpxove_from_cart_url}"
data-id-product="{$product.id_product|escape:'javascript'}"
data-id-product-attribute="{$product.id_product_attribute|escape:'javascript'}"
data-id-customization="{$product.id_customization|escape:'javascript'}">
{* <i class="material-icons">&#xE872;</i> *}
<img src="/themes/at_movic/assets/img/icons/bucket.svg" alt="">
</a>
{if ($product.attributes|count && $show_combination) || ($product.customizations|count && $show_customization)}
<div class="view-additional">
<div class="view-leo-dropdown-additional"></div>
</div>
{/if}
<div class="leo-dropdown-overlay">
<div class="leo-dropdown-cssload-speeding-wheel"></div>
</div>
<div class="leo-dropdown-additional">
{if $product.attributes|count && $show_combination}
<div class="view-combination label">
</div>
<div class="combinations">
{foreach from=$product.attributes key="attribute" item="value"}
<div class="product-line-info">
<span class="label">{$attribute}:</span>
<span class="value">{$value}</span>
</div>
{/foreach}
</div>
{/if}
{if $product.customizations|count && $show_customization}
<div class="view-customization label">
</div>
<div class="customizations">
{foreach from=$product.customizations item='customization'}
<ul>
{foreach from=$customization.fields item='field'}
<li>
<span class="label">{$field.label}</span>
{if $field.type == 'text'}
: <span class="value">{$field.text nofilter}</span>
{else if $field.type == 'image'}
<img src="{$field.image.small.url}">
{/if}
</li>
{/foreach}
</ul>
{/foreach}
</div>
{/if}
</div>
</li>{/foreach}</ul>
</div>
<div class="leo-dropdown-bottom">
{/if}
<div class="leo-dropdown-total" data-cart-total="{$cart.products_count}">
<div class="leo-dropdown-cart-subtotals">
{foreach from=$cart.subtotals item="subtotal"}
{if $subtotal}
<div class="{$subtotal.type} clearfix">
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 col-xl-6">
<span class="label">{$subtotal.label}</span>
</div>
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 col-xl-6">
<span class="value">{$subtotal.value}</span>
</div>
</div>
</div>
{/if}
{/foreach}
</div>
<div class="leo-dropdown-cart-total clearfix">
<div class="row">
<div class="col-xs-12">
<div class="price-box">
<p>ŁĄCZNIE</p>
<p>{$cart.totals.total.value}</p>
</div>
<div class="price-box-btn">
<a class="btn" href="{$cart_url}">{l s='PRZEJDZ DO KOSZYKA' mod='leofeature'}</a>
</div>
<div class="price-box-text">
<img src="/themes/at_movic/assets/img/save.svg" alt="" />
{l s='Bezpieczne zakupy' d='Shop.Theme.Actions'}
</div>
</div>
</div>
{* <div class="row">
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 col-xl-6">
<span class="label">{$cart.totals.total.label}</span>
</div>
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 col-xl-6">
<span class="value">{$cart.totals.total.value}</span>
</div>
</div> *}
</div>
<!-- add Spent X to get free ship in checkout page Leotheme -->
{assign var='freeshipping_price' value=Configuration::get('PS_SHIPPING_FREE_PRICE')}
{if $freeshipping_price}
{math equation='a-b' a=$cart.totals.total.amount b=$cart.subtotals.shipping.amount assign='total_without_shipping'}
{math equation='a-b' a=$freeshipping_price b=$total_without_shipping assign='remaining_to_spend'}
{if $remaining_to_spend > 0}
<div class="leo_free_price">
{assign var=currency value=Context::getContext()->currency}
<p>{l s='Spent' mod='leofeature'} {Tools::displayPrice($remaining_to_spend,$currency)}
{l s='To get free ship!' mod='leofeature'}</p>
</div>
{/if}
{/if}
<!-- end -->
</div>
{if $only_total != 1}
{* <div class="leo-cart-dropdown-action clearfix">
<a class="cart-dropdow-button cart-dropdow-viewcart btn btn-primary btn-outline"
href="{$cart_url}">{l s='PRZEJDZ DO KOSZYKA' mod='leofeature'}</a> *}
{* <a class="cart-dropdow-button cart-dropdow-viewcart btn btn-primary btn-outline" href="{$cart_url}">{l s='View Cart' mod='leofeature'}</a> *}
{* <a class="cart-dropdow-button cart-dropdow-checkout btn btn-primary btn-outline" href="{$order_url}">{l s='Check Out' mod='leofeature'}</a> *}
{* </div> *}
</div>
</div>
{/if}

View File

@@ -0,0 +1,17 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div data-type="{$type_fly_cart}" style="position: {$type_position}; {$vertical_position}; {$horizontal_position}" class="leo-fly-cart solo type-{$type_position}{if $type_fly_cart == 'dropup' || $type_fly_cart == 'dropdown'} enable-dropdown{/if}{if $type_fly_cart == 'slidebar_top' || $type_fly_cart == 'slidebar_bottom' || $type_fly_cart == 'slidebar_right' || $type_fly_cart == 'slidebar_left'} enable-slidebar{/if}">
<div class="leo-fly-cart-icon-wrapper">
<a href="javascript:void(0)" class="leo-fly-cart-icon" data-type="{$type_fly_cart}"><i class="material-icons">&#xE8CC;</i></a>
<span class="leo-fly-cart-total"></span>
</div>
{*
<div class="leo-fly-cssload-speeding-wheel"></div>
*}
<div class="leo-fly-cart-cssload-loader"></div>
</div>

View File

@@ -0,0 +1,27 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if $enable_overlay_background}
<div class="leo-fly-cart-mask"></div>
{/if}
<div class="leo-fly-cart-slidebar {$type}">
<div class="leo-fly-cart disable-dropdown">
<div class="leo-fly-cart-wrapper">
<div class="leo-fly-cart-icon-wrapper">
<a href="javascript:void(0)" class="leo-fly-cart-icon"><i class="material-icons">&#xE8CC;</i></a>
<span class="leo-fly-cart-total"></span>
</div>
{*
<div class="leo-fly-cssload-speeding-wheel"></div>
*}
<div class="leo-fly-cart-cssload-loader"></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,115 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{extends file=$layout}
{block name='content'}
<section id="main">
<header class="page-header">
<h1>
{l s='Wishlist' mod='leofeature'}
</h1>
</header>
<div id="mywishlist">
<div class="new-wishlist">
<div class="form-group-title">
<h2>{l s='Make new wishlist' mod='leofeature'}</h2>
</div>
<div class="form-group">
<label for="wishlist_name">{l s='Name' mod='leofeature'}</label>
<div class="form-group-row">
<input type="text" class="form-control" id="wishlist_name"
placeholder="{l s='Enter name of new wishlist' mod='leofeature'}">
<button type="submit" class="btn btn-primary leo-save-wishlist-bt">
<span class="leo-save-wishlist-loading cssload-speeding-wheel"></span>
<span class="leo-save-wishlist-bt-text">
{l s='Save' mod='leofeature'}
</span>
</button>
</div>
</div>
<div class="form-group has-success">
<div class="form-control-feedback"></div>
</div>
<div class="form-group has-danger">
<div class="form-control-feedback"></div>
</div>
</div>
<div class="list-wishlist">
<table class="table table-striped">
<thead class="wishlist-table-head">
<tr>
<th>{l s='Name' mod='leofeature'}</th>
<th>{l s='Quantity' mod='leofeature'}</th>
<th>{l s='Viewed' mod='leofeature'}</th>
<th class="wishlist-datecreate-head">{l s='Created' mod='leofeature'}</th>
<th>{l s='Direct Link' mod='leofeature'}</th>
<th>{l s='Default' mod='leofeature'}</th>
<th>{l s='Delete' mod='leofeature'}</th>
</tr>
</thead>
<tbody>
{if $wishlists}
{foreach from=$wishlists item=wishlists_item name=for_wishlists}
<tr>
<td><a href="javascript:void(0)" class="view-wishlist-product" data-name-wishlist="{$wishlists_item.name}"
data-id-wishlist="{$wishlists_item.id_wishlist}"><i
class="material-icons">&#xE8EF;</i>{$wishlists_item.name}</a>
<div
class="leo-view-wishlist-product-loading leo-view-wishlist-product-loading-{$wishlists_item.id_wishlist} cssload-speeding-wheel">
</div>
</td>
<td class="wishlist-numberproduct wishlist-numberproduct-{$wishlists_item.id_wishlist}">
{$wishlists_item.number_product|intval}</td>
<td>{$wishlists_item.counter|intval}</td>
<td class="wishlist-datecreate">{$wishlists_item.date_add}</td>
<td><a class="view-wishlist" data-token="{$wishlists_item.token}" href="{$view_wishlist_url}{if $leo_is_rewrite_active}?{else}&{/if}token={$wishlists_item.token}"
title="{l s='View' mod='leofeature'}">{l s='View' mod='leofeature'}</a></td>
<td>
<label class="form-check-label">
<input class="default-wishlist form-check-input" data-id-wishlist="{$wishlists_item.id_wishlist}"
type="checkbox" {if $wishlists_item.default == 1}checked="checked" {/if}>
</label>
</td>
<td><a class="delete-wishlist" data-id-wishlist="{$wishlists_item.id_wishlist}" href="javascript:void(0)"
title="{l s='Delete' mod='leofeature'}">
<img src="/themes/at_movic/assets/img/icons/trash-can.svg" alt="">
{* <i class="materia-icons">&#xE872;</i> *}
</a></td>
</tr>
{/foreach}
{/if}
</tbody>
</table>
</div>
<div class="send-wishlist">
<a class="leo-send-wishlist-button btn btn-info" href="javascript:void(0)"
title="{l s='Send this wishlist' mod='leofeature'}">
<i class="material-icons">&#xE163;</i>
{l s='Send this wishlist' mod='leofeature'}
</a>
</div>
<section id="products">
<div class="leo-wishlist-product products row">
</div>
</section>
<ul class="footer_links">
<li class="pull-xs-left"><a class="btn btn-outline"
href="{$link->getPageLink('my-account', true)|escape:'html'}"><i
class="material-icons">&#xE317;</i>{l s='Back to Your Account' mod='leofeature'}</a></li>
<li class="pull-xs-right"><a class="btn btn-outline" href="{$urls.base_url}"><i
class="material-icons">&#xE88A;</i>{l s='Home' mod='leofeature'}</a></li>
</ul>
</div>
</section>
{/block}

View File

@@ -0,0 +1,79 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if $products && count($products) >0}
{foreach from=$products item=product_item name=for_products}
{assign var='product' value=$product_item.product_info}
{assign var='wishlist' value=$product_item.wishlist_info}
<div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-xs-12 product-miniature js-product-miniature leo-wishlistproduct-item leo-wishlistproduct-item-{$wishlist.id_wishlist_product} product-{$product.id_product}" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
<div class="delete-wishlist-product clearfix">
<a class="leo-wishlist-button-delete btn" href="javascript:void(0)" title="{l s='Remove from this wishlist' mod='leofeature'}" data-id-wishlist="{$wishlist.id_wishlist}" data-id-wishlist-product="{$wishlist.id_wishlist_product}" data-id-product="{$product.id_product}"><i class="material-icons">&#xE872;</i>
</a>
</div>
<div class="thumbnail-container clearfix">
{block name='product_thumbnail'}
{if $product.cover}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
class="img-fluid lazyOwl"
src="{$product.cover.bySize.home_default.url}"
alt="{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
data-full-size-image-url="{$product.cover.large.url}"
/>
</a>
{else}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img src="{$urls.no_picture_image.bySize.home_default.url}" />
</a>
{/if}
{/block}
<div class="product-description">
{block name='product_name'}
<h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:30:'...'}</a></h1>
{/block}
</div>
</div>
<div class="wishlist-product-info">
<div class="form-group">
<label>{l s='Quantity' mod='leofeature'}</label>
<input class="form-control wishlist-product-quantity wishlist-product-quantity-{$wishlist.id_wishlist_product}" type="number" min=1 value="{$wishlist.quantity}">
</div>
<div class="form-group">
<label>{l s='Priority' mod='leofeature'}</label>
<select class="form-control wishlist-product-priority wishlist-product-priority-{$wishlist.id_wishlist_product}">
{for $i=0 to 2}
<option value="{$i}"{if $i == $wishlist.priority} selected="selected"{/if}>
{if $i == 0}{l s='High' mod='leofeature'}{/if}
{if $i == 1}{l s='Medium' mod='leofeature'}{/if}
{if $i == 2}{l s='Low' mod='leofeature'}{/if}
</option>
{/for}
</select>
</div>
</div>
<div class="wishlist-product-action">
<a class="leo-wishlist-product-save-button btn btn-primary" href="javascript:void(0)" title="{l s='Save' mod='leofeature'}" data-id-wishlist="{$wishlist.id_wishlist}" data-id-wishlist-product="{$wishlist.id_wishlist_product}" data-id-product="{$product.id_product}">{l s='Save' mod='leofeature'}
</a>
{if isset($wishlists) && count($wishlists) > 0}
<div class="dropdown leo-wishlist-button-dropdown">
<button class="leo-wishlist-button dropdown-toggle btn btn-primary show-list" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{l s='Move' mod='leofeature'}</button>
<div class="dropdown-menu leo-list-wishlist leo-list-wishlist-{$product.id_product}">
{foreach from=$wishlists item=wishlists_item}
<a href="#" class="dropdown-item list-group-item list-group-item-action move-wishlist-item" data-id-wishlist="{$wishlists_item.id_wishlist}" data-id-wishlist-product="{$wishlist.id_wishlist_product}" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" title="{$wishlists_item.name}">{$wishlists_item.name}</a>
{/foreach}
</div>
</div>
{/if}
</div>
</div>
{/foreach}
{else}
<div class="col-xl-12"><p class="alert alert-warning">{l s='No products' mod='leofeature'}</p></div>
{/if}

View File

@@ -0,0 +1,138 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{extends file=$layout}
{block name='content'}
<section id="main">
{capture name=path}{l s='Products Comparison' mod='leofeature'}{/capture}
<h1 class="page-heading">{l s='Products Comparison' mod='leofeature'}</h1>
{if $hasProduct}
<div class="products_block">
<table id="product_comparison" class="table table-bordered table-responsive">
<tr>
<td class="td_empty compare_extra_information">
<span>{l s='Features:' mod='leofeature'}</span>
</td>
{foreach from=$products item=product name=for_products}
{assign var='replace_id' value=$product.id|cat:'|'}
<td class="product-miniature js-product-miniature leo-productscompare-item product-{$product.id_product}" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
<div class="delete-productcompare clearfix">
<a class="leo-compare-button btn delete" href="#" title="{l s='Remove from Compare' mod='leofeature'}" data-id-product="{$product.id_product}"><i class="material-icons">&#xE872;</i>
</a>
</div>
<div class="thumbnail-container clearfix">
<div class="product-image">
{block name='product_thumbnail'}
{if $product.cover}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
class="img-fluid lazyOwl"
src="{$product.cover.bySize.home_default.url}"
alt = "{$product.cover.legend}"
data-full-size-image-url="{$product.cover.large.url}"
/>
</a>
{else}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img src="{$urls.no_picture_image.bySize.home_default.url}" />
</a>
{/if}
{/block}
{block name='product_flags'}
<ul class="product-flags">
{foreach from=$product.flags item=flag}
<li class="product-flag {$flag.type}">{$flag.label}</li>
{/foreach}
</ul>
{/block}
</div>
<div class="product-description">
{hook h='displayLeoCartAttribute' product=$product}
{hook h='displayLeoCartQuantity' product=$product}
{hook h='displayLeoCartButton' product=$product}
{block name='product_name'}
<h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:30:'...'}</a></h1>
{/block}
<div class="product_desc">
{$product.description_short|strip_tags|truncate:60:'...'}
</div>
{block name='product_price_and_shipping'}
{if $product.show_price}
<div class="product-price-and-shipping">
{if $product.has_discount}
{hook h='displayProductPriceBlock' product=$product type="old_price"}
<span class="regular-price">{$product.regular_price}</span>
{if $product.discount_type === 'percentage'}
<span class="discount-percentage">{$product.discount_percentage}</span>
{/if}
{/if}
{hook h='displayProductPriceBlock' product=$product type="before_price"}
<span itemprop="price" class="price">{$product.price}</span>
{hook h='displayProductPriceBlock' product=$product type='unit_price'}
{hook h='displayProductPriceBlock' product=$product type='weight'}
</div>
{/if}
{/block}
</div>
</div>
</td>
{/foreach}
</tr>
{if $ordered_features}
{foreach from=$ordered_features item=feature}
<tr>
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
<td class="{$classname} feature-name" >
<strong>{$feature.name|escape:'html':'UTF-8'}</strong>
</td>
{foreach from=$products item=product name=for_products}
{assign var='product_id' value=$product.id}
{assign var='feature_id' value=$feature.id_feature}
{if isset($product_features[$product_id])}
{assign var='tab' value=$product_features[$product_id]}
<td class="{$classname} comparison_infos product-{$product.id}">{if (isset($tab[$feature_id]))}{$tab[$feature_id] nofilter}{/if}</td>
{else}
<td class="{$classname} comparison_infos product-{$product.id}"></td>
{/if}
{/foreach}
</tr>
{/foreach}
{else}
<tr>
<td></td>
<td colspan="{$products|@count}" class="text-center">{l s='No features to compare' mod='leofeature'}</td>
</tr>
{/if}
{hook h='displayLeoProducReviewCompare' list_product=$list_product}
</table>
</div> <!-- end products_block -->
{else}
<p class="alert alert-warning">{l s='There are no products selected for comparison.' mod='leofeature'}</p>
{/if}
<ul class="footer_link">
<li>
<a class="button lnk_view btn btn-outline btn-sm" href="{$urls.base_url}">
<i class="material-icons">&#xE317;</i>
<span>{l s='Continue Shopping' mod='leofeature'}</span>
</a>
</li>
</ul>
</section>
{/block}

View File

@@ -0,0 +1,27 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<tr class="new">
<td>
<a href="javascript:void(0)" class="view-wishlist-product" data-name-wishlist="{$wishlist->name}" data-id-wishlist="{$wishlist->id}">
<i class="material-icons">&#xE8EF;</i>
{$wishlist->name}
</a>
<div class="leo-view-wishlist-product-loading leo-view-wishlist-product-loading-{$wishlist->id} cssload-speeding-wheel"></div>
</td>
<td class="wishlist-numberproduct wishlist-numberproduct-{$wishlist->id}">0</td>
<td>0</td>
<td class="wishlist-datecreate">{$wishlist->date_add}</td>
<td><a class="view-wishlist" data-token="{$wishlist->token}" href="{$url_view_wishlist}" title="{l s='View' mod='leofeature'}">{l s='View' mod='leofeature'}</a></td>
<td>
<label class="form-check-label">
<input class="default-wishlist form-check-input" data-id-wishlist="{$wishlist->id}" type="checkbox" {$checked}>
</label>
</td>
<td><a class="delete-wishlist" data-id-wishlist="{$wishlist->id}" href="javascript:void(0)" title="{l s='Delete' mod='leofeature'}"><i class="material-icons">&#xE872;</i></a></td>
</tr>

View File

@@ -0,0 +1,103 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{extends file=$layout}
{block name='content'}
<section id="main">
<div id="view_wishlist">
{if isset($current_wishlist)}
<h2>{l s='Wishlist' mod='leofeature'} "{$current_wishlist.name}"</h2>
{if $wishlists}
<p>
{l s='Other wishlists of ' mod='leofeature'}{$current_wishlist.firstname} {$current_wishlist.lastname} :
{foreach from=$wishlists item=wishlist_item name=i}
<a href="{$view_wishlist_url}{if $leo_is_rewrite_active}?{else}&{/if}token={$wishlist_item.token}" title="{$wishlist_item.name}" rel="nofollow">{$wishlist_item.name}</a>
{if !$smarty.foreach.i.last}
/
{/if}
{/foreach}
</p>
{/if}
<section id="products">
<div class="leo-wishlist-product products row">
{if $products && count($products) >0}
{foreach from=$products item=product_item name=for_products}
{assign var='product' value=$product_item.product_info}
{assign var='wishlist' value=$product_item.wishlist_info}
<div class="col-xl-3 col-lg-4 col-md-4 col-sm-6 col-xs-12 product-miniature js-product-miniature leo-wishlistproduct-item leo-wishlistproduct-item-{$wishlist.id_wishlist_product} product-{$product.id_product}" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
<div class="thumbnail-container clearfix">
<div class="product-image">
{block name='product_thumbnail'}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img class="img-fluid"
src = "{$product.cover.bySize.home_default.url}"
alt = "{$product.cover.legend}"
data-full-size-image-url = "{$product.cover.large.url}"
>
</a>
{/block}
{block name='product_flags'}
<ul class="product-flags">
{foreach from=$product.flags item=flag}
<li class="product-flag {$flag.type}">{$flag.label}</li>
{/foreach}
</ul>
{/block}
</div>
<div class="product-description">
{hook h='displayLeoCartAttribute' product=$product}
{hook h='displayLeoCartQuantity' product=$product}
{hook h='displayLeoCartButton' product=$product}
{block name='product_name'}
<h1 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:30:'...'}</a></h1>
{/block}
{block name='product_price_and_shipping'}
{if $product.show_price}
<div class="product-price-and-shipping">
{if $product.has_discount}
{hook h='displayProductPriceBlock' product=$product type="old_price"}
<span class="regular-price">{$product.regular_price}</span>
{if $product.discount_type === 'percentage'}
<span class="discount-percentage">{$product.discount_percentage}</span>
{/if}
{/if}
{hook h='displayProductPriceBlock' product=$product type="before_price"}
<span itemprop="price" class="price">{$product.price}</span>
{hook h='displayProductPriceBlock' product=$product type='unit_price'}
{hook h='displayProductPriceBlock' product=$product type='weight'}
</div>
{/if}
{/block}
<div class="wishlist-product-info">
<input class="form-control wishlist-product-quantity wishlist-product-quantity-{$wishlist.id_wishlist_product}" type="{if $show_button_cart}hidden{else}number{/if}" data-min=1 value="{$wishlist.quantity}">
<div class="form-group">
<label>
<strong>{l s='Priority' mod='leofeature'}: </strong>
{if $wishlist.priority == 0}{l s='High' mod='leofeature'}{/if}
{if $wishlist.priority == 1}{l s='Medium' mod='leofeature'}{/if}
{if $wishlist.priority == 2}{l s='Low' mod='leofeature'}{/if}
</label>
</div>
</div>
</div>
</div>
</div>
{/foreach}
{else}
<div class="alert alert-warning col-xl-12">{l s='No products' mod='leofeature'}</div>
{/if}
</div>
</section>
{else}
<div class="alert alert-warning col-xl-12">{l s='Wishlist does not exist' mod='leofeature'}</div>
{/if}
</div>
</section>
{/block}

View File

@@ -0,0 +1,49 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="modal leo-modal leo-modal-cart fade" tabindex="-1" role="dialog" aria-hidden="true">
<!--
<div class="vertical-alignment-helper">
-->
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title h6 text-xs-center leo-warning leo-alert">
<i class="material-icons">info_outline</i>
{l s='You must enter a quantity' mod='leofeature'}
</h4>
<h4 class="modal-title h6 text-xs-center leo-info leo-alert">
<i class="material-icons">info_outline</i>
{l s='The minimum purchase order quantity for the product is ' mod='leofeature'}<strong class="alert-min-qty"></strong>
</h4>
<h4 class="modal-title h6 text-xs-center leo-block leo-alert">
<i class="material-icons">block</i>
{l s='There are not enough products in stock' mod='leofeature'}
</h4>
</div>
<!--
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
-->
</div>
</div>
<!--
</div>
-->
</div>

View File

@@ -0,0 +1,100 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="modal leo-modal leo-modal-review fade" tabindex="-1" role="dialog" aria-hidden="true">
<!--
<div class="vertical-alignment-helper">
-->
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title h2 text-xs-center">
{l s='Write a review' mod='leofeature'}
</h4>
</div>
<div class="modal-body">
<div class="row">
{if isset($product_modal_review) && $product_modal_review}
<div class="product-info clearfix col-xs-12 col-sm-6">
<img class="img-fluid" src="{$productcomment_cover_image}" alt="{$product_modal_review->name|escape:'html':'UTF-8'}" />
<div class="product_desc">
<p class="product_name">
<strong>{$product_modal_review->name}</strong>
</p>
{$product_modal_review->description_short nofilter}
</div>
</div>
{/if}
<div class="new_review_form_content col-xs-12 col-sm-6">
{if $criterions|@count > 0}
<ul id="criterions_list">
{foreach from=$criterions item='criterion'}
<li>
{if isset($criterion.name) && $criterion.name != ''}<label>{$criterion.name|escape:'html':'UTF-8'}:</label>{/if}
<div class="star_content">
<input class="star not_uniform" type="radio" name="criterion[{$criterion.id_product_review_criterion|round}]" value="1" />
<input class="star not_uniform" type="radio" name="criterion[{$criterion.id_product_review_criterion|round}]" value="2" />
<input class="star not_uniform" type="radio" name="criterion[{$criterion.id_product_review_criterion|round}]" value="3" />
<input class="star not_uniform" type="radio" name="criterion[{$criterion.id_product_review_criterion|round}]" value="4" checked="checked" />
<input class="star not_uniform" type="radio" name="criterion[{$criterion.id_product_review_criterion|round}]" value="5" />
</div>
<div class="clearfix"></div>
</li>
{/foreach}
</ul>
{/if}
<form class="form-new-review" action="#" method="post">
<div class="form-group">
<label class="form-control-label" for="new_review_title">{l s='Title' mod='leofeature'} <sup class="required">*</sup></label>
<input type="text" class="form-control" id="new_review_title" required="" name="new_review_title">
</div>
<div class="form-group">
<label class="form-control-label" for="new_review_content">{l s='Comment' mod='leofeature'} <sup class="required">*</sup></label>
<textarea type="text" class="form-control" id="new_review_content" required="" name="new_review_content"></textarea>
</div>
{if $allow_guests == true && !$is_logged}
<div class="form-group">
<label class="form-control-label" for="new_review_customer_name">{l s='Your name' mod='leofeature'} <sup class="required">*</sup></label>
<input type="text" class="form-control" id="new_review_customer_name" required="" name="new_review_customer_name">
</div>
{/if}
<div class="form-group">
<label class="form-control-label"><sup>*</sup> {l s='Required fields' mod='leofeature'}</label>
<input id="id_product_review" name="id_product_review" type="hidden" value='{$product_modal_review->id}' />
</div>
<button class="btn btn-primary form-control-submit leo-fake-button pull-xs-right" type="submit">
</button>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">{l s='Close' mod='leofeature'}</button>
<button type="button" class="leo-modal-review-bt btn btn-primary">
<span class="leo-modal-review-loading cssload-speeding-wheel"></span>
<span class="leo-modal-review-bt-text">
{l s='Submit' mod='leofeature'}
</span>
</button>
</div>
</div>
</div>
<!--
</div>
-->
</div>

View File

@@ -0,0 +1,67 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="leo-notification" style="width: {$width_notification}; {$vertical_position}; {$horizontal_position}">
</div>
<div class="leo-temp leo-temp-success">
<div class="notification-wrapper">
<div class="notification notification-success">
{*
<span class="notification-title"><i class="material-icons">&#xE876;</i></span>
*}
<strong class="noti product-name"></strong>
<span class="noti noti-update">{l s='The product has been updated in your shopping cart' mod='leofeature'}</span>
<span class="noti noti-delete">{l s='The product has been removed from your shopping cart' mod='leofeature'}</span>
<span class="noti noti-add"><strong class="noti-special"></strong> {l s='Product successfully added to your shopping cart' mod='leofeature'}</span>
<span class="notification-close">X</span>
</div>
</div>
</div>
<div class="leo-temp leo-temp-error">
<div class="notification-wrapper">
<div class="notification notification-error">
{*
<span class="notification-title"><i class="material-icons">&#xE611;</i></span>
*}
<span class="noti noti-update">{l s='Error updating' mod='leofeature'}</span>
<span class="noti noti-delete">{l s='Error deleting' mod='leofeature'}</span>
<span class="noti noti-add">{l s='Error adding. Please go to product detail page and try again' mod='leofeature'}</span>
<span class="notification-close">X</span>
</div>
</div>
</div>
<div class="leo-temp leo-temp-warning">
<div class="notification-wrapper">
<div class="notification notification-warning">
{*
<span class="notification-title"><i class="material-icons">&#xE645;</i></span>
*}
<span class="noti noti-min">{l s='The minimum purchase order quantity for the product is' mod='leofeature'} <strong class="noti-special"></strong></span>
<span class="noti noti-max">{l s='There are not enough products in stock' mod='leofeature'}</span>
<span class="notification-close">X</span>
</div>
</div>
</div>
<div class="leo-temp leo-temp-normal">
<div class="notification-wrapper">
<div class="notification notification-normal">
{*
<span class="notification-title"><i class="material-icons">&#xE88F;</i></span>
*}
<span class="noti noti-check">{l s='You must enter a quantity' mod='leofeature'}</span>
<span class="notification-close">X</span>
</div>
</div>
</div>

View File

@@ -0,0 +1,28 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if $product_price_attribute.show_price}
{if $product_price_attribute.has_discount}
{hook h='displayProductPriceBlock' product=$product_price_attribute type="old_price"}
<span class="sr-only">{l s='Regular price' mod='leofeature'}</span>
<span class="regular-price">{$product_price_attribute.regular_price}</span>
{if $product_price_attribute.discount_type === 'percentage'}
<span class="discount-percentage discount-product">{$product_price_attribute.discount_percentage}</span>
{elseif $product_price_attribute.discount_type === 'amount'}
<span class="discount-amount discount-product">{$product_price_attribute.discount_amount_to_display}</span>
{/if}
{/if}
{hook h='displayProductPriceBlock' product=$product_price_attribute type="before_price"}
<span class="sr-only">{l s='Price' mod='leofeature'}</span>
<span itemprop="price" class="price">{$product_price_attribute.price}</span>
{hook h='displayProductPriceBlock' product=$product_price_attribute type='unit_price'}
{hook h='displayProductPriceBlock' product=$product_price_attribute type='weight'}
{/if}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,25 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="button-container cart">
<form action="{$link_cart}" method="post">
<input type="hidden" name="token" value="{$static_token}">
<input type="hidden" value="{$leo_cart_product.quantity}" class="quantity_product quantity_product_{$leo_cart_product.id_product}" name="quantity_product">
<input type="hidden" value="{if isset($leo_cart_product.product_attribute_minimal_quantity) && $leo_cart_product.product_attribute_minimal_quantity>$leo_cart_product.minimal_quantity}{$leo_cart_product.product_attribute_minimal_quantity}{else}{$leo_cart_product.minimal_quantity}{/if}" class="minimal_quantity minimal_quantity_{$leo_cart_product.id_product}" name="minimal_quantity">
<input type="hidden" value="{$leo_cart_product.id_product_attribute}" class="id_product_attribute id_product_attribute_{$leo_cart_product.id_product}" name="id_product_attribute">
<input type="hidden" value="{$leo_cart_product.id_product}" class="id_product" name="id_product">
<input type="hidden" name="id_customization" value="{if $leo_cart_product.id_customization}{$leo_cart_product.id_customization}{/if}" class="product_customization_id">
<input type="hidden" class="input-group form-control qty qty_product qty_product_{$leo_cart_product.id_product}" name="qty" value="{if isset($leo_cart_product.wishlist_quantity)}{$leo_cart_product.wishlist_quantity}{else}{if $leo_cart_product.product_attribute_minimal_quantity && $leo_cart_product.product_attribute_minimal_quantity>$leo_cart_product.minimal_quantity}{$leo_cart_product.product_attribute_minimal_quantity}{else}{$leo_cart_product.minimal_quantity}{/if}{/if}" data-min="{if $leo_cart_product.product_attribute_minimal_quantity && $leo_cart_product.product_attribute_minimal_quantity>$leo_cart_product.minimal_quantity}{$leo_cart_product.product_attribute_minimal_quantity}{else}{$leo_cart_product.minimal_quantity}{/if}">
<button class="btn btn-product add-to-cart leo-bt-cart leo-bt-cart_{$leo_cart_product.id_product}{if !$leo_cart_product.add_to_cart_url} disabled{/if}" data-button-action="add-to-cart" type="submit">
{* <i class="icon-btn-product icon-cart material-icons shopping-cart">&#xE547;</i> *}
<span class="name-btn-product">{l s='Add to cart' mod='leofeature'}</span>
</button>
</form>
</div>

View File

@@ -0,0 +1,22 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if isset($leo_cart_product_attribute.combinations) && count($leo_cart_product_attribute.combinations) > 0}
<div class="dropdown leo-pro-attr-section">
<button class="btn btn-secondary dropdown-toggle leo-bt-select-attr dropdownListAttrButton_{$leo_cart_product_attribute.id_product}" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{$leo_cart_product_attribute.attribute_designation}
</button>
<div class="dropdown-menu leo-dropdown-attr">
{foreach from=$leo_cart_product_attribute.combinations item=attribute}
<a class="dropdown-item leo-select-attr{if $attribute.id_product_attribute == $leo_cart_product_attribute.id_product_attribute} selected{/if}{if $attribute.add_to_cart_url == ''} disable{/if}" href="#" data-id-product="{$attribute.id_product}" data-id-attr="{$attribute.id_product_attribute}" data-qty-attr="{$attribute.quantity}" data-min-qty-attr="{$attribute.minimal_quantity}">{$attribute.attribute_designation}</a>
{/foreach}
</div>
</div>
{/if}

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<input type="number" class="input-group form-control leo_cart_quantity" value="" data-id-product="{$leo_cart_product_quantity.id_product}" data-min="">

View File

@@ -0,0 +1,16 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="compare">
<a class="leo-compare-button btn-primary btn-product btn{if $added} added{/if}" href="javascript:void(0)" data-id-product="{$leo_compare_id_product}" title="{if $added}{l s='Remove from Compare' mod='leofeature'}{else}{l s='Add to Compare' mod='leofeature'}{/if}">
<span class="leo-compare-bt-loading cssload-speeding-wheel"></span>
<span class="leo-compare-bt-content">
<i class="icon-btn-product icon-compare material-icons">&#xE915;</i>
<span class="name-btn-product">{l s='Add to Compare' mod='leofeature'}</span>
</span>
</a>
</div>

View File

@@ -0,0 +1,36 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if (isset($nbReviews) && $nbReviews > 0) || $show_zero_product_review}
<div class="leo-list-product-reviews" {if (isset($nbReviews) && $nbReviews > 0)}itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating"{/if}>
<div class="leo-list-product-reviews-wraper">
<div class="star_content clearfix">
{section name="i" start=0 loop=5 step=1}
{if $averageTotal le $smarty.section.i.index}
<div class="star"></div>
{else}
<div class="star star_on"></div>
{/if}
{/section}
{if (isset($nbReviews) && $nbReviews > 0)}
<meta itemprop="worstRating" content = "0" />
<meta itemprop="ratingValue" content = "{if isset($ratings.avg)}{$ratings.avg|round:1|escape:'html':'UTF-8'}{else}{$averageTotal|round:1|escape:'html':'UTF-8'}{/if}" />
<meta itemprop="bestRating" content = "5" />
{/if}
</div>
{if isset($nbReviews) && $nbReviews > 0}
{if $show_number_product_review}
<span class="nb-revews"><span itemprop="reviewCount">{$nbReviews}</span> {l s='Review(s)' mod='leofeature'}</span>
{else}
<meta itemprop="reviewCount" content = "{$nbReviews}" />
{/if}
{/if}
</div>
</div>
{/if}

View File

@@ -0,0 +1,75 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="addToCartFormWrapper" data-product-id="{$productID|escape:'htmlall':'UTF-8'}">
<form action="{$linkCartController}" method="post" class="addToCartForm">
<div class="variantsProductWrapper">
<div class="variants-product">
{foreach from=$productVariants key=id_attribute_group item=group}
{if $group.attributes|@count gt 0}
<div class="clearfix product-variants-item">
{if isset($configs.show_label) && $configs.show_label}
<span class="control-label">{$group.name|escape:'htmlall':'UTF-8'}</span>
{/if}
{if $group.group_type == 'select'}
<select
class="form-control form-control-select"
id="group_{$id_attribute_group|escape:'htmlall':'UTF-8'}"
data-product-attribute="{$id_attribute_group|escape:'htmlall':'UTF-8'}"
name="group[{$id_attribute_group|escape:'htmlall':'UTF-8'}]">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<option value="{$id_attribute|escape:'htmlall':'UTF-8'}" title="{$group_attribute.name|escape:'htmlall':'UTF-8'}"{if $group_attribute.selected} selected="selected"{/if}>{$group_attribute.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{elseif $group.group_type == 'color'}
<ul id="group_{$id_attribute_group|escape:'htmlall':'UTF-8'}" class="groupUl">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<li class="float-xs-left input-container">
<label>
<input class="input-color" type="radio" data-product-attribute="{$id_attribute_group|escape:'htmlall':'UTF-8'}" name="group[{$id_attribute_group|escape:'htmlall':'UTF-8'}]" value="{$id_attribute|escape:'htmlall':'UTF-8'}"{if $group_attribute.selected} checked="checked"{/if}>
<span
{if $group_attribute.html_color_code}class="color" style="background-color: {$group_attribute.html_color_code|escape:'htmlall':'UTF-8'}" {/if}
{if $group_attribute.texture}class="color texture" style="background-image: url({$group_attribute.texture|escape:'htmlall':'UTF-8'})" {/if}
><span class="sr-only">{$group_attribute.name|escape:'htmlall':'UTF-8'}</span></span>
</label>
</li>
{/foreach}
</ul>
{elseif $group.group_type == 'radio'}
<ul id="group_{$id_attribute_group|escape:'htmlall':'UTF-8'}" class="groupUl">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<li class="input-container float-xs-left groupLi">
<label>
<input class="input-radio" type="radio" data-product-attribute="{$id_attribute_group|escape:'htmlall':'UTF-8'}" name="group[{$id_attribute_group|escape:'htmlall':'UTF-8'}]" value="{$id_attribute|escape:'htmlall':'UTF-8'}"{if $group_attribute.selected} checked="checked"{/if}>
<span class="radio-label">{$group_attribute.name|escape:'htmlall':'UTF-8'}</span>
</label>
</li>
{/foreach}
</ul>
{/if}
</div>
{/if}
{/foreach}
</div>
</div>
{* <button
data-button-action="add-to-cart"
class="btn btn-primary add-to-cart"
>
<i class="material-icons shopping-cart">&#xE547;</i>{l s='Add to cart' d='Shop.Theme.Actions' mod='leofeature'}
</button>
<input id="addToCartToken_{$productID|escape:'htmlall':'UTF-8'}" class="addToCartButtonToken" name="token" value="{$staticToken|escape:'htmlall':'UTF-8'}" placeholder="" type="hidden" />
<input id="addToCartIdProduct_{$productID|escape:'htmlall':'UTF-8'}" class="addToCartButtonIdProduct" name="id_product" value="{$productID|escape:'htmlall':'UTF-8'}" placeholder="" type="hidden" />
<input id="addToCartIdCustomization_{$productID|escape:'htmlall':'UTF-8'}" class="addToCartButtonIdCustomization" name="id_customization" value="0" placeholder="" type="hidden" />*}
</form>
</div>

View File

@@ -0,0 +1,86 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<tr class="comparison_header">
<td class="feature-name td_empty">
<span>{l s='Reviews' mod='leofeature'}</span>
</td>
{foreach from=$list_ids_product item=id_product}
<td class="product-{$id_product}"></td>
{/foreach}
</tr>
{foreach from=$grades item=grade key=grade_id}
<tr>
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
<td class="{$classname} feature-name">
<strong>{$grade}</strong>
</td>
{foreach from=$list_ids_product item=id_product}
{assign var='tab_grade' value=$product_grades[$grade_id]}
<td class="{$classname} comparison_infos ajax_block_product product-{$id_product}" align="center">
{if isset($tab_grade[$id_product]) AND $tab_grade[$id_product]}
<div class="product-rating">
{section loop=6 step=1 start=1 name=average}
<input class="auto-submit-star not_uniform" disabled="disabled" type="radio" name="{$grade_id}_{$id_product}_{$smarty.section.average.index}" {if isset($tab_grade[$id_product]) AND $tab_grade[$id_product]|round neq 0 and $smarty.section.average.index eq $tab_grade[$id_product]|round}checked="checked"{/if} />
{/section}
</div>
{else}
-
{/if}
</td>
{/foreach}
</tr>
{/foreach}
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
<tr>
<td class="{$classname} feature-name">
<strong>{l s='Average' mod='leofeature'}</strong>
</td>
{foreach from=$list_ids_product item=id_product}
<td class="{$classname} comparison_infos product-{$id_product}" align="center" >
{if isset($list_product_average[$id_product]) AND $list_product_average[$id_product]}
<div class="product-rating">
{section loop=6 step=1 start=1 name=average}
<input class="auto-submit-star not_uniform" disabled="disabled" type="radio" name="average_{$id_product}" {if $list_product_average[$id_product]|round neq 0 and $smarty.section.average.index eq $list_product_average[$id_product]|round}checked="checked"{/if} />
{/section}
</div>
{else}
-
{/if}
</td>
{/foreach}
</tr>
<tr>
<td class="{$classname} comparison_infos feature-name">&nbsp;</td>
{foreach from=$list_ids_product item=id_product}
<td class="{$classname} comparison_infos product-{$id_product}" align="center" >
{if isset($product_reviews[$id_product]) AND $product_reviews[$id_product]}
<div class="dropup leo-compare-review-dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{l s='View reviews' mod='leofeature'}
</button>
<div class="dropdown-menu">
{foreach from=$product_reviews[$id_product] item=review}
<div class="dropdown-item well well-sm">
<strong>{$review.customer_name|escape:'html':'UTF-8'} </strong>
<small class="date"> {dateFormat date=$review.date_add|escape:'html':'UTF-8' full=0}</small>
<div class="review_title">{$review.title|escape:'html':'UTF-8'|nl2br}</div>
<div class="review_content">{$review.content|escape:'html':'UTF-8'|nl2br}</div>
</div>
{/foreach}
</div>
</div>
{else}
-
{/if}
</td>
{/foreach}
</tr>

View File

@@ -0,0 +1,50 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if ($nbReviews_product_extra == 0 && $too_early_extra == false && ($customer.is_logged || $allow_guests_extra)) || ($nbReviews_product_extra != 0)}
<div id="leo_product_reviews_block_extra" class="no-print" {if $nbReviews_product_extra != 0}itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating"{/if}>
{if $nbReviews_product_extra != 0}
<div class="reviews_note clearfix">
<span>{l s='Rating' mod='leofeature'}&nbsp;</span>
<div class="star_content clearfix">
{section name="i" start=0 loop=5 step=1}
{if $averageTotal_extra le $smarty.section.i.index}
<div class="star"></div>
{else}
<div class="star star_on"></div>
{/if}
{/section}
<meta itemprop="worstRating" content = "0" />
<meta itemprop="ratingValue" content = "{if isset($ratings_extra.avg)}{$ratings_extra.avg|round:1|escape:'html':'UTF-8'}{else}{$averageTotal_extra|round:1|escape:'html':'UTF-8'}{/if}" />
<meta itemprop="bestRating" content = "5" />
</div>
</div>
{/if}
<ul class="reviews_advices">
{if $nbReviews_product_extra != 0}
<li>
<a href="javascript:void(0)" class="read-review">
<i class="material-icons">&#xE0B9;</i>
{l s='Read reviews' mod='leofeature'} (<span itemprop="reviewCount">{$nbReviews_product_extra}</span>)
</a>
</li>
{/if}
{if ($too_early_extra == false AND ($customer.is_logged OR $allow_guests_extra))}
<li class="{if $nbReviews_product_extra != 0}last{/if}">
<a class="open-review-form" href="javascript:void(0)" data-id-product="{$id_product_review_extra}" data-is-logged="{$customer.is_logged}" data-product-link="{$link_product_review_extra}">
<i class="material-icons">&#xE150;</i>
{l s='Write a review' mod='leofeature'}
</a>
</li>
{/if}
</ul>
</div>
{/if}

View File

@@ -0,0 +1,23 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if isset($USE_PTABS) && $USE_PTABS == 'default'}
<h4 class="title-info-product leo-product-show-review-title">{l s='Reviews' mod='leofeature'}</h4>
{else if isset($USE_PTABS) && $USE_PTABS == 'accordion'}
<div class="card-header" role="tab" id="headingleofeatureproductreview">
<h5 class="h5">
<a class="collapsed leo-product-show-review-title leofeature-accordion" data-toggle="collapse" data-parent="#accordion" href="#collapseleofeatureproductreview" aria-expanded="false" aria-controls="collapseleofeatureproductreview">
{l s='Reviews' mod='leofeature'}
</a>
</h5>
</div>
{else}
<li class="nav-item">
<a class="nav-link leo-product-show-review-title" data-toggle="tab" href="#leo-product-show-review-content">{l s='Reviews' mod='leofeature'}</a>
</li>
{/if}

View File

@@ -0,0 +1,109 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
{if isset($USE_PTABS) && $USE_PTABS == 'default'}
{else if isset($USE_PTABS) && $USE_PTABS == 'accordion'}
<div id="collapseleofeatureproductreview" class="collapse" role="tabpanel">
<div class="card-block">
{else}
<div class="tab-pane fade in" id="leo-product-show-review-content">
{/if}
<div id="product_reviews_block_tab">
{if $reviews}
{foreach from=$reviews item=review}
{if $review.content}
<div class="review" itemprop="review" itemscope itemtype="https://schema.org/Review">
<div class="review-info row">
<div class="review_author col-sm-3">
<span>{l s='Grade' mod='leofeature'}&nbsp;</span>
<div class="star_content clearfix" itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
{section name="i" start=0 loop=5 step=1}
{if $review.grade le $smarty.section.i.index}
<div class="star"></div>
{else}
<div class="star star_on"></div>
{/if}
{/section}
<meta itemprop="worstRating" content = "0" />
<meta itemprop="ratingValue" content = "{$review.grade|escape:'html':'UTF-8'}" />
<meta itemprop="bestRating" content = "5" />
</div>
<div class="review_author_infos">
<strong itemprop="author">{$review.customer_name|escape:'html':'UTF-8'}</strong>
<meta itemprop="datePublished" content="{$review.date_add|escape:'html':'UTF-8'|substr:0:10}" />
<em>{dateFormat date=$review.date_add|escape:'html':'UTF-8' full=0}</em>
</div>
</div>
<div class="review_details col-sm-9">
<p itemprop="name" class="title_block">
<strong>{$review.title}</strong>
</p>
<p itemprop="reviewBody">{$review.content|escape:'html':'UTF-8'|nl2br nofilter}</p>
</div><!-- .review_details -->
</div>
<div class="review_button">
<ul>
{if $review.total_advice > 0}
<li>
{l s='%1$d out of %2$d people found this review useful.' sprintf=[$review.total_useful,$review.total_advice] mod='leofeature'}
</li>
{/if}
{if $customer.is_logged}
{if !$review.customer_advice && $allow_usefull_button}
<li>
<span>{l s='Was this review useful to you?' mod='leofeature'}</span>
<button class="usefulness_btn btn btn-default button button-small" data-is-usefull="1" data-id-product-review="{$review.id_product_review}">
<span>{l s='Yes' mod='leofeature'}</span>
</button>
<button class="usefulness_btn btn btn-default button button-small" data-is-usefull="0" data-id-product-review="{$review.id_product_review}">
<span>{l s='No' mod='leofeature'}</span>
</button>
</li>
{/if}
{if !$review.customer_report && $allow_report_button}
<li>
<a href="javascript:void(0)" class="btn report_btn" data-id-product-review="{$review.id_product_review}">
{l s='Report abuse' mod='leofeature'}
</a>
</li>
{/if}
{/if}
</ul>
</div>
</div> <!-- .review -->
{/if}
{/foreach}
{if (!$too_early AND ($customer.is_logged OR $allow_guests))}
<a class="open-review-form" href="javascript:void(0)" data-id-product="{$id_product_tab_content}" data-is-logged="{$customer.is_logged}" data-product-link="{$link_product_tab_content}">
<i class="material-icons">&#xE150;</i>
{l s='Write a review' mod='leofeature'}
</a>
{/if}
{else}
{if (!$too_early AND ($customer.is_logged OR $allow_guests))}
<a class="open-review-form" href="javascript:void(0)" data-id-product="{$id_product_tab_content}" data-is-logged="{$customer.is_logged}" data-product-link="{$link_product_tab_content}">
<i class="material-icons">&#xE150;</i>
{l s='Be the first to write your review!' mod='leofeature'}
</a>
{else}
<p class="align_center">{l s='No customer reviews for the moment.' mod='leofeature'}</p>
{/if}
{/if}
</div>
{if isset($USE_PTABS) && $USE_PTABS == 'default'}
{else if isset($USE_PTABS) && $USE_PTABS == 'accordion'}
</div>
</div>
{else}
</div>
{/if}

View File

@@ -0,0 +1,31 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<div class="wishlist">
{if isset($wishlists) && count($wishlists) > 1}
<div class="dropdown leo-wishlist-button-dropdown">
<button class="leo-wishlist-button dropdown-toggle show-list btn-primary btn-product btn{if $added_wishlist} added{/if}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-id-wishlist="{$id_wishlist}" data-id-product="{$leo_wishlist_id_product}" data-id-product-attribute="{$leo_wishlist_id_product_attribute}">
<span class="leo-wishlist-bt-loading cssload-speeding-wheel"></span>
<span class="leo-wishlist-bt-content">
<img src="/themes/at_movic/assets/img/icon-wishlist-add.svg">
</span>
</button>
<div class="dropdown-menu leo-list-wishlist leo-list-wishlist-{$leo_wishlist_id_product}">
{foreach from=$wishlists item=wishlists_item}
<a href="javascript:void(0)" class="dropdown-item list-group-item list-group-item-action wishlist-item{if in_array($wishlists_item.id_wishlist, $wishlists_added)} added {/if}" data-id-wishlist="{$wishlists_item.id_wishlist}" data-id-product="{$leo_wishlist_id_product}" data-id-product-attribute="{$leo_wishlist_id_product_attribute}" title="{if in_array($wishlists_item.id_wishlist, $wishlists_added)}{l s='Remove from Wishlist' mod='leofeature'}{else}{l s='Add to Wishlist' mod='leofeature'}{/if}">{$wishlists_item.name}</a>
{/foreach}
</div>
</div>
{else}
<a class="leo-wishlist-button btn-product btn-primary btn{if $added_wishlist} added{/if}" href="javascript:void(0)" data-id-wishlist="{$id_wishlist}" data-id-product="{$leo_wishlist_id_product}" data-id-product-attribute="{$leo_wishlist_id_product_attribute}" title="{if $added_wishlist}{l s='Remove from Wishlist' mod='leofeature'}{else}{l s='Add to Wishlist' mod='leofeature'}{/if}">
<span class="leo-wishlist-bt-loading cssload-speeding-wheel"></span>
<span class="leo-wishlist-bt-content">
<img src="/themes/at_movic/assets/img/icon-wishlist-add.svg">
</span>
</a>
{/if}
</div>

View File

@@ -0,0 +1,16 @@
{*
* @Module Name: Leo Feature
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright 2007-2018 Leotheme
* @description: Leo feature for prestashop 1.7: ajax cart, review, compare, wishlist at product list
*}
<a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" id="mywishlist-link" href="{$wishlist_link}">
<span class="link-item">
{* <i class="material-icons">&#xE87D;</i> *}
<img src="/themes/at_movic/assets/img/icons/LISTA ZYCZEN.svg" alt="">
{l s='My Wishlist' mod='leofeature'}
</span>
</a>

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2015 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;