first commit
This commit is contained in:
160
modules/squaremeter/views/templates/hook/addtocartbutton.tpl
Normal file
160
modules/squaremeter/views/templates/hook/addtocartbutton.tpl
Normal file
@@ -0,0 +1,160 @@
|
||||
{*
|
||||
* Module Name: Perimeter / Length / Surface (Area) / Volume / Weight Calculator for Prestashop
|
||||
* Module URI: Please contact with info@megventure.com
|
||||
* Description: A utility to calculate quantity in perimeter, length, area, volume or weight units
|
||||
* Version: 5.5.1
|
||||
* Author: MEG Venture
|
||||
*
|
||||
* Copyright 2013, MEG Venture (info@megventure.com)
|
||||
*
|
||||
* This program is not a free software: you can't redistribute it and/or modify
|
||||
* it. All rights reserved.
|
||||
*
|
||||
*
|
||||
* This copyright notice and licence should be retained in all modules based on this framework.
|
||||
* This does not affect your rights to assert copyright over your own original work.
|
||||
*}
|
||||
|
||||
{if (($allow_ordering_from_listing) AND ($availability == 'available'))}
|
||||
<form action="{$urls.pages.cart}" method="post" class="squaremeterProductListing" id="sqform_{$id_product}">
|
||||
<input type="hidden" name="cartsource" value="listingpage">
|
||||
<input type="hidden" name="token" value="{$token}">
|
||||
<input type="hidden" name="id_product" value="{$id_product}" class="product_page_product_id">
|
||||
<input type="hidden" name="id_product_attribute_{$id_product}" value="{$id_product_attribute}" class="product_page_product_attribute_id">
|
||||
<input type="hidden" name="id_customization" value="0" class="product_customization_id">
|
||||
<input type='hidden' id='dim_{$id_product}' name='dim_{$id_product}' value='' />
|
||||
<input type='hidden' id='discretion' name='discretion' value='on' />
|
||||
<input type='hidden' id='converted_ea_{$id_product}' name='converted_ea_{$id_product}' value='' />
|
||||
<input type='hidden' id='calculated_total_{$id_product}' name='calculated_total_{$id_product}' value='' />
|
||||
<input type='hidden' id='grand_calculated_total_{$id_product}' name='grand_calculated_total_{$id_product}' value='' />
|
||||
<input type='hidden' id='product_total_price_calc_{$id_product}' name='product_total_price_calc_{$id_product}' value=''/>
|
||||
<input type='hidden' id='qty_alt_{$id_product}' name='qty_alt_{$id_product}' value='' />
|
||||
<input type='hidden' id='quantity_wanted_{$id_product}' name='qty_{$id_product}' value='{$minimal_qty}' min='{$minimal_qty}'>
|
||||
{if ($admintab_dispquan != "decimalok")} {* If direct input is allowed, step value should be one unless decimal quantity is not allowed *}
|
||||
{$step = 1}
|
||||
{/if}
|
||||
<div class="quantity_calculated product-quantity">
|
||||
<div class="value-button decrease" onclick="decreaseValue('directinput_{$id_product}', {$step});price_calculation_{$id_product}({$id_product});check_directinput({$id_product}, {$min}, {$max});" value="Decrease Value">-</div>
|
||||
<input type="text" class="directinput" id="directinput_{$id_product}" name="directinput_{$id_product}" onchange="check_directinput({$id_product}, {$min}, {$max})" value="0"/>
|
||||
<div class="input-group-append">
|
||||
<span class="input-group-text">{$admintab_conversion_unit|escape:'html':'UTF-8'}</span>
|
||||
</div>
|
||||
<div class="value-button increase" onclick="increaseValue('directinput_{$id_product}', {$step});price_calculation_{$id_product}({$id_product});check_directinput({$id_product}, {$min}, {$max});" value="Increase Value">+</div>
|
||||
</div>
|
||||
<button
|
||||
id="button_{$id_product}"
|
||||
class="btn btn-primary add-to-cart"
|
||||
data-button-action="add-to-cart"
|
||||
type="submit"
|
||||
>
|
||||
{l s='Add' mod='squaremeter'}
|
||||
</button>
|
||||
</form>
|
||||
<span id="totalpriceinfo_{$id_product}" class="totalpriceinfo"></span>
|
||||
<link rel="stylesheet" href="{$module_dir|escape:'html':'UTF-8'}views/css/jquery-ui.css">
|
||||
<script src="{$module_dir|escape:'html':'UTF-8'}views/js/jquery-1.12.4.js"></script>
|
||||
<script src="{$module_dir|escape:'html':'UTF-8'}views/js/jquery-ui.js"></script>
|
||||
<script type="text/javascript">
|
||||
{if ($psversion >= '1.7.8.0')}
|
||||
$('#sqform_{$id_product}').prev().prev().find('span').after($('#totalpriceinfo_{$id_product}'));
|
||||
{else}
|
||||
$('#sqform_{$id_product}').prev().find('span').after($('#totalpriceinfo_{$id_product}'));
|
||||
{/if}
|
||||
price_calculation_{$id_product}({$id_product});
|
||||
$(document).on('change', 'input#directinput_{$id_product}', function (event) {
|
||||
price_calculation_{$id_product}({$id_product});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
check_directinput({$id_product}, {$min}, {$max});
|
||||
if ($('button[data-id-product="{$id_product}"]')) //jms_yanka theme adaptation
|
||||
$('button[data-id-product="{$id_product}"]').hide();
|
||||
});
|
||||
function price_calculation_{$id_product}(idProduct) {
|
||||
var multiplication = $('#directinput_{$id_product}').val();
|
||||
if (multiplication < 0)
|
||||
multiplication = 0;
|
||||
if (multiplication < {$min})
|
||||
multiplication = {$min};
|
||||
if (multiplication > {$max})
|
||||
multiplication = {$max};
|
||||
$('#qty_alt_{$id_product}').val(multiplication);
|
||||
var qty_prod = document.getElementById('quantity_wanted_{$id_product}');
|
||||
var qty_production = Number(qty_prod.value);
|
||||
var selecteddimension = {$admintab_conversion|escape:'htmlall':'UTF-8'};
|
||||
{if $admintab_secconversionselect}
|
||||
selecteddimension = selecteddimension * {$admintab_secconversion|escape:'htmlall':'UTF-8'};
|
||||
{/if}
|
||||
fulldimension = multiplication;
|
||||
extra = Math.ceil(multiplication / selecteddimension) * selecteddimension - fulldimension;
|
||||
if (("{$admintab_dispquan|escape:'html':'UTF-8'}" == "onevisible")
|
||||
|| ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "oneinvisible")
|
||||
|| ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "onewithcalcvisible")
|
||||
|| ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "onewithcalcinvisible")
|
||||
|| ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "decimalok"))
|
||||
{
|
||||
qty_prod.value = 1;
|
||||
qty_prod2 = Math.ceil(multiplication/selecteddimension);
|
||||
qty_prod3 = parseFloat(Math.round((multiplication/selecteddimension) * 100) / 100).toFixed(2);
|
||||
{if ($admintab_dispquan != "decimalok")}
|
||||
if (qty_prod3 < 1)
|
||||
qty_prod3 = 1;
|
||||
{/if}
|
||||
}
|
||||
else
|
||||
qty_prod.value = Math.ceil(multiplication/selecteddimension);
|
||||
|
||||
if (qty_prod.value == 0)
|
||||
qty_prod.value = 1;
|
||||
|
||||
if ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "decimalok")
|
||||
product_calc_quantity = parseFloat(Math.round((multiplication/selecteddimension) * 100) / 100).toFixed(2);
|
||||
else
|
||||
product_calc_quantity = Math.ceil(multiplication/selecteddimension);
|
||||
|
||||
var dimen = document.getElementById("dim_{$id_product}");
|
||||
var unit = "{$admintab_conversion_unit|escape:'html':'UTF-8'}";
|
||||
dimen.value = "({l s='Total ' mod='squaremeter'}" + parseFloat(multiplication).toFixed(2) + " " + unit + ") ";
|
||||
if (typeof fulldimension !== 'undefined') {
|
||||
$('#calculated_total_{$id_product}').val(parseFloat(fulldimension).toFixed(2));
|
||||
if ((typeof extra !== 'undefined') && ("{$admintab_dispquan|escape:'html':'UTF-8'}" != "decimalok")) {
|
||||
$('#grand_calculated_total_{$id_product}').val((fulldimension).toFixed(2) + extra);
|
||||
}
|
||||
}
|
||||
var qty_prod = document.getElementById('quantity_wanted_{$id_product}');
|
||||
|
||||
if(("{$admintab_dispquan|escape:'html':'UTF-8'}" == "onewithcalcinvisible")
|
||||
|| ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "onewithcalcvisible"))
|
||||
var qty_production = qty_prod2;
|
||||
else if ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "decimalok")
|
||||
var qty_production = qty_prod3;
|
||||
else
|
||||
var qty_production = Number(qty_prod.value);
|
||||
$('#converted_ea_{$id_product}').val(qty_production);
|
||||
var pricecurrencyval = "{$currency.sign}";
|
||||
var pricenumberval = {$price};
|
||||
$('#quantity_wanted_{$id_product}').change();
|
||||
var product_total_price = Number({$admintab_startingprice|escape:'htmlall':'UTF-8'}) + pricenumberval * qty_production;
|
||||
if ("{$admintab_dispquan|escape:'html':'UTF-8'}" == "onevisible"
|
||||
|| "{$admintab_dispquan|escape:'html':'UTF-8'}" == "oneinvisible") {
|
||||
product_total_price = pricenumberval;
|
||||
}
|
||||
{if $admintab_unit_baseprice}
|
||||
if(pricenumberval > product_total_price)
|
||||
product_total_price = pricenumberval;
|
||||
{/if}
|
||||
|
||||
{if $admintab_reserve}
|
||||
if(Number("{$admintab_reserve|escape:'htmlall':'UTF-8'}")>product_total_price)
|
||||
product_total_price = Number({$admintab_reserve|escape:'htmlall':'UTF-8'});
|
||||
{/if}
|
||||
if ((product_total_price == 0) || (multiplication == 0))
|
||||
$('#button_{$id_product}').prop( "disabled", true );
|
||||
else
|
||||
$('#button_{$id_product}').prop( "disabled", false );
|
||||
$('#product_total_price_calc_{$id_product}').val(product_total_price.toFixed(2));
|
||||
var totalpriceinfo = $('#totalpriceinfo_{$id_product}');
|
||||
totalpriceinfo.html(" {l s='(Total' mod='squaremeter'} : <span>" + pricecurrencyval + parseFloat(product_total_price).toFixed(2) + ")</span>");
|
||||
}
|
||||
</script>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user