Files
newwalls.pl/modules/squaremeter_bckp/views/templates/front/cart-detailed-product-line-override.tpl
2024-12-17 13:43:22 +01:00

262 lines
11 KiB
Smarty

{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* 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 https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
*}
{if isset($dimension_data)}
{foreach from=$dimension_data item="ddata"}
{foreach from=$customization_added_to_cart item="cdata"}
{if $cdata.0.id_customization == $product.id_customization}
{if $ddata.0.displayquantity == 'decimalok'}
{$dimension_text = $cdata.0.value}
{$dimension_quantity = $cdata.0.total_dimension}
{$dimension_unit = $cdata.0.unittype_module}
{$product_price = $product.price|regex_replace:'/[^0-9,.]+/':''}
{$currency = $product.price|regex_replace:'/[A-Za-z0-9.,]+/':''}
{$unit_price = $product_price|floatval / $dimension_quantity|floatval}
{/if}
{/if}
{/foreach}
{/foreach}
{/if}
<div class="product-line-grid">
<!-- product line left content: image-->
<div class="product-line-grid-left col-md-3 col-xs-4">
<span class="product-image media-middle">
{if $product.cover}
<img src="{$product.cover.bySize.cart_default.url|escape:'quotes':'UTF-8'}" alt="{$product.name|escape:'quotes':'UTF-8'}">
{else}
<img src="{$urls.no_picture_image.bySize.cart_default.url}" />
{/if}
</span>
</div>
<!-- product line body: label, discounts, price, attributes, customizations -->
<div class="product-line-grid-body col-md-4 col-xs-8">
<div class="product-line-info">
<a class="label" href="{$product.url}" data-id_customization="{$product.id_customization|intval}">{$product.name}</a>
</div>
<div class="product-line-info product-price h5 {if $product.has_discount}has-discount{/if}">
{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>
{if $product.unit_price_full}
{if $dimension_text}
<div class="unit-price-cart">{$currency}{$unit_price|string_format:"%.2f"} per {$dimension_unit|escape:'htmlall':'UTF-8'}</div>
{else}
<div class="unit-price-cart">{$product.unit_price_full}</div>
{/if}
{/if}
</div>
</div>
<br/>
{foreach from=$product.attributes key="attribute" item="value"}
<div class="product-line-info {$attribute|lower}">
<span class="label">{$attribute}:</span>
<span class="value">{$value}</span>
</div>
{/foreach}
</div>
<!-- product line right content: actions (quantity, delete), price -->
<div class="product-line-grid-right product-line-actions col-md-5 col-xs-12">
<div class="row">
<div class="col-xs-4 hidden-md-up"></div>
<div class="col-md-10 col-xs-6">
<div class="row">
<div class="col-md-6 col-xs-6 qty">
{if isset($product.is_gift) && $product.is_gift}
<span class="gift-quantity">{$product.quantity}</span>
{else}
<input
class="js-cart-line-product-quantity"
style="font-size: 14px;"
data-down-url="{$product.down_quantity_url}"
data-up-url="{$product.up_quantity_url}"
data-update-url="{$product.update_quantity_url}"
data-product-id="{$product.id_product|intval}"
unique-product-id="{$product.id_product|escape:'javascript':'UTF-8'}-{$product.id_product_attribute|escape:'javascript':'UTF-8'}-{$product.id_customization|escape:'javascript':'UTF-8'}"
type="number"
value="{if isset($dimension_text)}{$dimension_quantity|escape:'htmlall':'UTF-8'}{else}{$product.quantity}{/if}"
name="product-quantity-spin"
/>
{if isset($dimension_text)}
<div class="input-group-append" style="height: 40px;line-height: 40px;">
<span class="input-group-text small-text text-muted">{$dimension_unit|escape:'htmlall':'UTF-8'}</span>
</div>
{/if}
{/if}
</div>
<div class="col-md-6 col-xs-2 price">
<span class="product-price">
<strong>
{if isset($product.is_gift) && $product.is_gift}
<span class="gift">{l s='Gift' d='Shop.Theme.Checkout'}</span>
{else}
{$product.total}
{/if}
</strong>
</span>
</div>
</div>
</div>
<div class="col-md-2 col-xs-2 text-xs-right">
<div class="cart-line-product-actions">
<a
class = "remove-from-cart"
rel = "nofollow"
href = "{$product.remove_from_cart_url}"
data-link-action = "delete-from-cart"
data-id-product = "{$product.id_product|escape:'javascript':'UTF-8'}"
data-id-product-attribute = "{$product.id_product_attribute|escape:'javascript':'UTF-8'}"
data-id-customization = "{$product.id_customization|escape:'javascript':'UTF-8'}"
>
{if !isset($product.is_gift) || !$product.is_gift}
<i class="material-icons float-xs-left">delete</i>
{/if}
</a>
{block name='hook_cart_extra_product_actions'}
{hook h='displayCartExtraProductActions' product=$product}
{/block}
</div>
</div>
</div>
</div>
<div class="clearfix"></div>
{if is_array($product.customizations) && $product.customizations|count}
<br>
{block name='cart_detailed_product_line_customization'}
{foreach from=$product.customizations item="customization"}
{foreach from=$customization.fields item="field"}
{assign var="dimension_text" value=" "|explode:$field.text}
<div class="alert medium-alert alert-info">
<p style="float:left;">{$field.label}&nbsp;</p>
<div class="value">
{if $field.type == 'text'}
{if (int)$field.id_module}
{$field.text nofilter}
{else}
{$field.text}
{/if}
{elseif $field.type == 'image'}
<img src="{$field.image.small.url}">
{/if}
</div>
</div>
{/foreach}
{/foreach}
{/block}
{/if}
</div>
{if isset($dimension_text)}
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
var id_product = {$product.id_product|intval};
$.ajax({
type: "POST",
data: {
id_product:id_product
},
url: "index.php?fc=module&module=squaremeter&controller=getdimensiondata",
dataType: "json",
async: false,
success: function(data) {
results = data;
id_product=id_product;
//console.table(results);
},
error: function (jqXHR, exception) {
console.log(jqXHR);
}
});
if (typeof results !== 'undefined' && results.length > 0) {
var displayquantity = results[0]['displayquantity'];
if ((results[0]) && (displayquantity == 'decimalok')) {
if (results[0]['step_width'])
stepvalue = results[0]['step_width'];
else
stepvalue = results[0]['step'];
if(!stepvalue)
stepvalue = 1;
switch(results[0]['calculationtype']) {
case "weight":
if (results[0]['minweight'])
minvalue = results[0]['minweight'];
else
minvalue = '';
if (results[0]['maxweight'])
maxvalue = results[0]['maxweight'];
else
maxvalue = '';
break;
default:
if (results[0]['minwidth'])
minvalue = results[0]['minwidth'];
else
minvalue = '';
if (results[0]['maxwidth'])
maxvalue = results[0]['maxwidth'];
else
maxvalue = '';
break;
}
$("[unique-product-id={$product.id_product|intval}-{$product.id_product_attribute|intval}-{$product.id_customization|intval}]").attr('min', parseFloat(minvalue));
$("[unique-product-id={$product.id_product|intval}-{$product.id_product_attribute|intval}-{$product.id_customization|intval}]").attr('max', parseFloat(maxvalue));
$("[unique-product-id={$product.id_product|intval}-{$product.id_product_attribute|intval}-{$product.id_customization|intval}]").attr('step', parseFloat(stepvalue));
}
}
if (displayquantity == "decimalok") {
window["q" + "{$product.id_product|intval}-" + "{$product.id_product_attribute|intval}-" + "{$product.id_customization|intval}"] = $("[unique-product-id={$product.id_product|intval}-{$product.id_product_attribute|intval}-{$product.id_customization|intval}]").val();
setInterval(function(){
$("[unique-product-id={$product.id_product|intval}-{$product.id_product_attribute|intval}-{$product.id_customization|intval}]").val(parseFloat(window["q" + "{$product.id_product|intval}-" + "{$product.id_product_attribute|intval}-" + "{$product.id_customization|intval}"]).toFixed(2));
}, 100);
}
</script>
{/if}