Refactor code structure for improved readability and maintainability

This commit is contained in:
2025-05-31 00:31:24 +02:00
parent 326a834e98
commit c26eb99b18
10 changed files with 11015 additions and 441 deletions

10539
.vscode/ftp-kr.sync.cache.json vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,5 @@
#pdproductattributeslist { #pdproductattributeslist {
width:100%; width: 100%;
margin-top: 15px; margin-top: 15px;
margin-right: 9px; margin-right: 9px;
margin-left: 9px; margin-left: 9px;
@@ -8,9 +7,8 @@
#pdproductattributeslist table {} #pdproductattributeslist table {}
#pdproductattributeslist input.quantity { #pdproductattributeslist input.quantity {}
}
#pdproductattributeslist .old_price { #pdproductattributeslist .old_price {
font-size: 12px; font-size: 12px;
text-decoration: line-through; text-decoration: line-through;
@@ -24,6 +22,7 @@
#pdproductattributeslist .bootstrap-touchspin .input-group-btn-vertical i { #pdproductattributeslist .bootstrap-touchspin .input-group-btn-vertical i {
left: 4px; left: 4px;
} }
#pdproductattributeslist table td.option_infos .product-title { #pdproductattributeslist table td.option_infos .product-title {
text-transform: capitalize; text-transform: capitalize;
margin: .5rem 0; margin: .5rem 0;
@@ -32,7 +31,8 @@
/** RESPOINSIVE TABLE **/ /** RESPOINSIVE TABLE **/
#pdproductattributeslist td, #pdproductattributeslist th { #pdproductattributeslist td,
#pdproductattributeslist th {
vertical-align: middle; vertical-align: middle;
text-align: center; text-align: center;
padding-top: .75rem; padding-top: .75rem;
@@ -43,36 +43,58 @@
font-size: 13px; font-size: 13px;
} }
#pdproductattributeslist td img {max-width: 100%;} #pdproductattributeslist .option_image a.hidden {
display: none;
#pdproductattributeslist .option_image a.hidden {display:none;} }
#pdproductattributeslist th.product_image {width:10%;} #pdproductattributeslist th.product_image {
width: 10%;
}
#pdproductattributeslist th.product_infos {} #pdproductattributeslist th.product_infos {}
#pdproductattributeslist th.product_price {width:12%;}
#pdproductattributeslist th.product_variant {width:10%;} #pdproductattributeslist th.product_price {
#pdproductattributeslist th.product_qty {width:10%;} width: 12%;
#pdproductattributeslist th.product_btn {width:12%;} }
#pdproductattributeslist th.product_variant {
width: 10%;
}
#pdproductattributeslist th.product_qty {
width: 10%;
}
#pdproductattributeslist th.product_btn {
width: 12%;
}
#pdproductattributeslist .footer_actions { background:#ddd; } #pdproductattributeslist .footer_actions {
background: #ddd;
}
#pdproductattributeslist b, #pdproductattributeslist strong { #pdproductattributeslist b,
#pdproductattributeslist strong {
margin-bottom: 0.3rem; margin-bottom: 0.3rem;
display: inline-block; display: inline-block;
} }
#category .product-quantity > .col { #category .product-quantity>.col {
margin-bottom: .0rem; margin-bottom: .0rem;
} }
#pdproductattributeslist .option_gty .product-quantity {max-width:200px; } #pdproductattributeslist .option_gty .product-quantity {
max-width: 200px;
}
#pdproductattributeslist .product-quantity .qty {width:100%} #pdproductattributeslist .product-quantity .qty {
width: 100%
}
#pdproductattributeslist .add-to-cart-pdproductattributeslist { #pdproductattributeslist .add-to-cart-pdproductattributeslist {
width: 100%; width: 100%;
@@ -97,8 +119,7 @@ Max width before this PARTICULAR table gets nasty
This query will take effect for any screen smaller than 760px This query will take effect for any screen smaller than 760px
and also iPads specifically. and also iPads specifically.
*/ */
@media @media only screen and (max-width: 760px),
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px) { (min-device-width: 768px) and (max-device-width: 1024px) {
#pdproductattributeslist table { #pdproductattributeslist table {
@@ -122,7 +143,9 @@ only screen and (max-width: 760px),
left: -9999px; left: -9999px;
} }
#pdproductattributeslist tr { border: 1px solid #ccc; } #pdproductattributeslist tr {
border: 1px solid #ccc;
}
#pdproductattributeslist td { #pdproductattributeslist td {
/* Behave like a "row" */ /* Behave like a "row" */
@@ -171,7 +194,9 @@ only screen and (max-width: 760px),
bottom: 6.375rem; bottom: 6.375rem;
} }
#pdproductattributeslist .grid .add-to-cart-or-refresh {text-align: center;} #pdproductattributeslist .grid .add-to-cart-or-refresh {
text-align: center;
}
#pdproductattributeslist .grid input.qtyfield { #pdproductattributeslist .grid input.qtyfield {
padding: 0 6px; padding: 0 6px;
@@ -200,48 +225,66 @@ only screen and (max-width: 760px),
margin-bottom: 15px; margin-bottom: 15px;
overflow-y: hidden; overflow-y: hidden;
overflow-x: scroll; overflow-x: scroll;
border: 1px solid #d6d4d4; } border: 1px solid #d6d4d4;
#pdproductattributeslist .table-responsive > .table { }
margin-bottom: 0;
background-color: #fff; }
#pdproductattributeslist .table-responsive > .table > thead > tr > th,
#pdproductattributeslist .table-responsive > .table > thead > tr > td,
#pdproductattributeslist .table-responsive > .table > tbody > tr > th,
#pdproductattributeslist .table-responsive > .table > tbody > tr > td,
#pdproductattributeslist .table-responsive > .table > tfoot > tr > th,
#pdproductattributeslist .table-responsive > .table > tfoot > tr > td {
white-space: nowrap; }
#pdproductattributeslist .table-responsive > .table-bordered {
border: 0; }
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > th:first-child,
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > td:first-child,
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > th:first-child,
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > td:first-child,
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > th:first-child,
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0; }
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > th:last-child,
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > td:last-child,
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > th:last-child,
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > td:last-child,
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > th:last-child,
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0; }
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr:last-child > th,
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr:last-child > td,
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr:last-child > th,
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr:last-child > td,
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr:last-child > th,
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0; }
#pdproductattributeslist tr.footer_actions td {height:50px;} #pdproductattributeslist .table-responsive>.table {
margin-bottom: 0;
background-color: #fff;
}
#pdproductattributeslist .table-responsive>.table>thead>tr>th,
#pdproductattributeslist .table-responsive>.table>thead>tr>td,
#pdproductattributeslist .table-responsive>.table>tbody>tr>th,
#pdproductattributeslist .table-responsive>.table>tbody>tr>td,
#pdproductattributeslist .table-responsive>.table>tfoot>tr>th,
#pdproductattributeslist .table-responsive>.table>tfoot>tr>td {
white-space: nowrap;
}
#pdproductattributeslist .table-responsive>.table-bordered {
border: 0;
}
#pdproductattributeslist .table-responsive>.table-bordered>thead>tr>th:first-child,
#pdproductattributeslist .table-responsive>.table-bordered>thead>tr>td:first-child,
#pdproductattributeslist .table-responsive>.table-bordered>tbody>tr>th:first-child,
#pdproductattributeslist .table-responsive>.table-bordered>tbody>tr>td:first-child,
#pdproductattributeslist .table-responsive>.table-bordered>tfoot>tr>th:first-child,
#pdproductattributeslist .table-responsive>.table-bordered>tfoot>tr>td:first-child {
border-left: 0;
}
#pdproductattributeslist .table-responsive>.table-bordered>thead>tr>th:last-child,
#pdproductattributeslist .table-responsive>.table-bordered>thead>tr>td:last-child,
#pdproductattributeslist .table-responsive>.table-bordered>tbody>tr>th:last-child,
#pdproductattributeslist .table-responsive>.table-bordered>tbody>tr>td:last-child,
#pdproductattributeslist .table-responsive>.table-bordered>tfoot>tr>th:last-child,
#pdproductattributeslist .table-responsive>.table-bordered>tfoot>tr>td:last-child {
border-right: 0;
}
#pdproductattributeslist .table-responsive>.table-bordered>thead>tr:last-child>th,
#pdproductattributeslist .table-responsive>.table-bordered>thead>tr:last-child>td,
#pdproductattributeslist .table-responsive>.table-bordered>tbody>tr:last-child>th,
#pdproductattributeslist .table-responsive>.table-bordered>tbody>tr:last-child>td,
#pdproductattributeslist .table-responsive>.table-bordered>tfoot>tr:last-child>th,
#pdproductattributeslist .table-responsive>.table-bordered>tfoot>tr:last-child>td {
border-bottom: 0;
}
#pdproductattributeslist tr.footer_actions td {
height: 50px;
}
} }
#pdproductattributeslist_grid .product-quantity, #pdproductattributeslist_grid .product-quantity,
#pdproductattributeslist_grid button.add-to-cart {width:100%;margin-top:10px;} #pdproductattributeslist_grid button.add-to-cart {
width: 100%;
margin-top: 10px;
}
#pdproductattributeslist_grid .product-quantity .bootstrap-touchspin input.form-control, #pdproductattributeslist_grid .product-quantity .bootstrap-touchspin input.form-control,
#pdproductattributeslist_grid .product-quantity .bootstrap-touchspin input.input-group { #pdproductattributeslist_grid .product-quantity .bootstrap-touchspin input.input-group {
@@ -249,5 +292,6 @@ only screen and (max-width: 760px),
height: 2.75rem; height: 2.75rem;
} }
#pdproductattributeslist_grid .product-quantity .bootstrap-touchspin {margin:0 auto;} #pdproductattributeslist_grid .product-quantity .bootstrap-touchspin {
margin: 0 auto;
}

View File

@@ -1,6 +1,5 @@
{if $product_combinations} {if $product_combinations}
<div id="pdproductattributeslist" class="products"> <div id="pdproductattributeslist" class="products">
{if $block_heading} {if $block_heading}
<h3 class="idTabHrefShort page-product-heading">{l s='Select product combination' mod='pdproductattributeslist'}</h3> <h3 class="idTabHrefShort page-product-heading">{l s='Select product combination' mod='pdproductattributeslist'}</h3>
@@ -29,7 +28,7 @@
{foreach from=$combination.images item=$img} {foreach from=$combination.images item=$img}
<a href="{$img.large_default}" rel="group_{$combination.id_product_attribute}" class="{if ($img@index > 0)}hidden {/if}fancybox"> <a href="{$img.large_default}" rel="group_{$combination.id_product_attribute}" class="{if ($img@index > 0)}hidden {/if}fancybox">
<img width="{$cartSize.width}" height="{$cartSize.height}" class="img img-fluid img-responsive" src="{$img.home_default}" alt="{$combination.attribute_name}" title="{$combination.attribute_name}" /> <img class="img img-fluid img-responsive" src="{$img.home_default}" alt="{$combination.attribute_name}" title="{$combination.attribute_name}" />
</a> </a>
{/foreach} {/foreach}
@@ -78,13 +77,13 @@
{/if} {/if}
<td data-column="{l s='Quantity on stock' mod='pdproductattributeslist'}" class="option_price"> <td data-column="{l s='Quantity on stock' mod='pdproductattributeslist'}" class="option_price">
<b>{$combination.quantity}</b> {l s='pcs' mod='pdproductattributeslist'} <b>{if $combination.quantity <= 10 }{$combination.quantity}{else}>10{/if}</b> {l s='pcs' mod='pdproductattributeslist'}
</td> </td>
{if !$is_catalog} {if !$is_catalog}
<td data-id-product="{$combination.id_product|intval}" data-id-product-attribute="{$combination.id_product_attribute|intval}" data-column="{l s='Select quantity' mod='pdproductattributeslist'}" class="option_gty"> <td data-id-product="{$combination.id_product|intval}" data-id-product-attribute="{$combination.id_product_attribute|intval}" data-column="{l s='Select quantity' mod='pdproductattributeslist'}" class="option_gty">
<div class="row extra-small-gutters product-quantity"> <div class="row extra-small-gutters product-quantity">
<input type="number" name="qty" inputmode="numeric" pattern="[0-9]*" class="quantity input-group form-control" min="0" value="0"/> <input type="number" name="qty" inputmode="numeric" pattern="[0-9]*" class="quantity input-group form-control" min="0" value="0" />
</div> </div>
</td> </td>
{/if} {/if}
@@ -94,14 +93,12 @@
</tbody> </tbody>
</table> </table>
<div class="footer_actions"> <div class="footer_actions">
<button <button class="btn btn-lg btn-primary add-to-cart-pdproductattributeslist pull-right" type="button">
class="btn btn-lg btn-primary add-to-cart-pdproductattributeslist pull-right"
type="button">
{l s='Add selected to cart' mod='pdproductattributeslist'} {l s='Add selected to cart' mod='pdproductattributeslist'}
</button> </button>
</div> </div>
</div> </div>
{/if} {/if}

View File

@@ -26,11 +26,9 @@
{foreach from=$product_combinations item=$combination} {foreach from=$product_combinations item=$combination}
<tr class="product_combination_{if ($combination@index % 2)}alternate_{/if}item"> <tr class="product_combination_{if ($combination@index % 2)}alternate_{/if}item">
<td data-column="{l s='Image' mod='pdproductattributeslist'}" class="option_image"> <td data-column="{l s='Image' mod='pdproductattributeslist'}" class="option_image">
{foreach from=$combination.images item=$img} {foreach from=$combination.images item=$img}
<a href="{$img.large_default}" rel="group_{$combination.id_product_attribute}" class="{if ($img@index > 0)}hidden {/if}fancybox"> <a href="{$img.large_default}" rel="group_{$combination.id_product_attribute}" class="{if ($img@index > 0)}hidden {/if}fancybox">
<img width="{$cartSize.width}" height="{$cartSize.height}" class="img img-fluid img-responsive" src="{$img.home_default}" alt="{$combination.attribute_name}" title="{$combination.attribute_name}" /> <img class="img img-fluid img-responsive" src="{$img.home_default}" alt="{$combination.attribute_name}" title="{$combination.attribute_name}" />
</a> </a>
{/foreach} {/foreach}
@@ -79,7 +77,7 @@
{/if} {/if}
<td data-column="{l s='Quantity on stock' mod='pdproductattributeslist'}" class="option_price"> <td data-column="{l s='Quantity on stock' mod='pdproductattributeslist'}" class="option_price">
<b>{$combination.quantity}</b> {l s='pcs' mod='pdproductattributeslist'} <b>{if $combination.quantity <= 10 }{$combination.quantity}{else}>10{/if}</b> {l s='pcs' mod='pdproductattributeslist'}
</td> </td>
{if !$is_catalog} {if !$is_catalog}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -553,12 +553,29 @@ a[href="https://redline.com.pl/pl/zamówienie?newAddress=invoice"] {
} }
} }
#pdproductattributeslist {
th {
white-space: nowrap;
&:last-child {
width: 130px;
}
}
}
.product_combination_item, .product_combination_item,
.product_combination_alternate_item { .product_combination_alternate_item {
.option_image {
img {
width: 100%;
max-width: 75px;
}
}
.input-group { .input-group {
border: 0 !important; border: 0 !important;
display: flex !important; display: flex !important;
width: 140px; width: 110px;
gap: 5px; gap: 5px;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -566,7 +583,7 @@ a[href="https://redline.com.pl/pl/zamówienie?newAddress=invoice"] {
button.bootstrap-touchspin-down, button.bootstrap-touchspin-down,
button.bootstrap-touchspin-up { button.bootstrap-touchspin-up {
border: 1px solid #eee; border: 1px solid #eee;
width: 40px; width: 30px;
height: 40px; height: 40px;
display: flex; display: flex;
justify-content: center; justify-content: center;

View File

@@ -7,9 +7,11 @@
*} *}
<section id="main" class="product-detail detail-3382420090 product-image-thumbs product-thumbs-bottom" itemscope itemtype="https://schema.org/Product"> <section id="main" class="product-detail detail-3382420090 product-image-thumbs product-thumbs-bottom" itemscope itemtype="https://schema.org/Product">
<meta itemprop="url" content="{$product.url}"><div class="row"><div class="col-md-6 col-lg-6 col-xl-6 col-sm-12 col-xs-12 col-sp-12"> <meta itemprop="url" content="{$product.url}">
<div class="row">
<div class="col-md-5 col-lg-5 col-xl-5 col-sm-12 col-xs-12 col-sp-12">
{block name='page_content_container'} {block name='page_content_container'}
<section class="page-content" id="content" data-templateview="bottom" data-numberimage="5" data-numberimage1200="4" data-numberimage992="4" data-numberimage768="3" data-numberimage576="3" data-numberimage480="2" data-numberimage360="2" data-templatemodal="1" data-templatezoomtype="in" data-zoomposition="right" data-zoomwindowwidth="400" data-zoomwindowheight="400"> <section class="page-content" id="content" data-templateview="bottom" data-numberimage="5" data-numberimage1200="4" data-numberimage992="4" data-numberimage768="3" data-numberimage576="3" data-numberimage480="2" data-numberimage360="2" data-templatemodal="1" data-templatezoomtype="in" data-zoomposition="right" data-zoomwindowwidth="400" data-zoomwindowheight="400">
{block name='page_content'} {block name='page_content'}
<div class="images-container"> <div class="images-container">
@@ -18,15 +20,7 @@
<div class="list-images-mobile"> <div class="list-images-mobile">
{foreach from=$product.images item=image} {foreach from=$product.images item=image}
<div> <div>
<img <img class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}" data-image-medium-src="{$image.bySize.medium_default.url}" data-image-large-src="{$image.bySize.large_default.url}" src="{$image.bySize.large_default.url}" alt="{$image.legend}" title="{$image.legend}" itemprop="image">
class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}"
data-image-medium-src="{$image.bySize.medium_default.url}"
data-image-large-src="{$image.bySize.large_default.url}"
src="{$image.bySize.large_default.url}"
alt="{$image.legend}"
title="{$image.legend}"
itemprop="image"
>
</div> </div>
{/foreach} {/foreach}
</div> </div>
@@ -57,30 +51,14 @@
{foreach from=$product.images item=image} {foreach from=$product.images item=image}
<div class="thumb-container {if $image.id_image == $product.cover.id_image} active {/if}"> <div class="thumb-container {if $image.id_image == $product.cover.id_image} active {/if}">
<a href="javascript:void(0)" data-image="{$image.bySize.large_default.url}" data-zoom-image="{$image.bySize.large_default.url}"> <a href="javascript:void(0)" data-image="{$image.bySize.large_default.url}" data-zoom-image="{$image.bySize.large_default.url}">
<img <img class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}" data-image-medium-src="{$image.bySize.medium_default.url}" data-image-large-src="{$image.bySize.large_default.url}" src="{$image.bySize.home_default.url}" alt="{$image.legend}" title="{$image.legend}" itemprop="image">
class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}"
data-image-medium-src="{$image.bySize.medium_default.url}"
data-image-large-src="{$image.bySize.large_default.url}"
src="{$image.bySize.home_default.url}"
alt="{$image.legend}"
title="{$image.legend}"
itemprop="image"
>
</a> </a>
</div> </div>
{/foreach} {/foreach}
{else} {else}
<div class="thumb-container"> <div class="thumb-container">
<a href="javascript:void(0)" data-image="{$urls.no_picture_image.bySize.large_default.url}" data-zoom-image="{$urls.no_picture_image.bySize.large_default.url}"> <a href="javascript:void(0)" data-image="{$urls.no_picture_image.bySize.large_default.url}" data-zoom-image="{$urls.no_picture_image.bySize.large_default.url}">
<img <img class="thumb js-thumb img-fluid" data-image-medium-src="{$urls.no_picture_image.bySize.medium_default.url}" data-image-large-src="{$urls.no_picture_image.bySize.large_default.url}" src="{$urls.no_picture_image.bySize.home_default.url}" alt="{$product.name}" title="{$product.name}" itemprop="image">
class="thumb js-thumb img-fluid"
data-image-medium-src="{$urls.no_picture_image.bySize.medium_default.url}"
data-image-large-src="{$urls.no_picture_image.bySize.large_default.url}"
src="{$urls.no_picture_image.bySize.home_default.url}"
alt="{$product.name}"
title="{$product.name}"
itemprop="image"
>
</a> </a>
</div> </div>
{/if} {/if}
@@ -88,7 +66,7 @@
{if $product.images|@count > 1} {if $product.images|@count > 1}
<div class="arrows-product-fake slick-arrows"> <div class="arrows-product-fake slick-arrows">
<button class="slick-prev slick-arrow" aria-label="Previous" type="button" >{l s='Previous' d='Shop.Theme.Catalog'}</button> <button class="slick-prev slick-arrow" aria-label="Previous" type="button">{l s='Previous' d='Shop.Theme.Catalog'}</button>
<button class="slick-next slick-arrow" aria-label="Next" type="button">{l s='Next' d='Shop.Theme.Catalog'}</button> <button class="slick-next slick-arrow" aria-label="Next" type="button">{l s='Next' d='Shop.Theme.Catalog'}</button>
</div> </div>
{/if} {/if}
@@ -99,27 +77,28 @@
</div> </div>
{/block} {/block}
</section> </section>
{/block} {/block}
{block name='product_images_modal'} {block name='product_images_modal'}
{include file='catalog/_partials/product-images-modal.tpl'} {include file='catalog/_partials/product-images-modal.tpl'}
{/block} {/block}
</div><div class="col-md-6 col-lg-6 col-xl-6 col-sm-12 col-xs-12 col-sp-12"> </div>
{block name='page_header_container'} <div class="col-md-7 col-lg-7 col-xl-7 col-sm-12 col-xs-12 col-sp-12">
{block name='page_header_container'}
{block name='page_header'} {block name='page_header'}
<h1 class="h1 product-detail-name" itemprop="name">{block name='page_title'}{$product.name}{/block}</h1> <h1 class="h1 product-detail-name" itemprop="name">{block name='page_title'}{$product.name}{/block}</h1>
{/block} {/block}
{/block} {/block}
{block name='product_prices'} {block name='product_prices'}
{include file='catalog/_partials/product-prices.tpl'} {include file='catalog/_partials/product-prices.tpl'}
{/block} {/block}
{if $product.is_customizable && count($product.customizations.fields)} {if $product.is_customizable && count($product.customizations.fields)}
{block name='product_customization'} {block name='product_customization'}
{include file="catalog/_partials/product-customization.tpl" customizations=$product.customizations} {include file="catalog/_partials/product-customization.tpl" customizations=$product.customizations}
{/block} {/block}
{/if} {/if}
<div class="product-actions"> <div class="product-actions">
{block name='product_buy'} {block name='product_buy'}
<form action="{$urls.pages.cart}" method="post" id="add-to-cart-or-refresh"> <form action="{$urls.pages.cart}" method="post" id="add-to-cart-or-refresh">
<input type="hidden" name="token" value="{$static_token}"> <input type="hidden" name="token" value="{$static_token}">
@@ -156,23 +135,25 @@
{/block} {/block}
</form> </form>
{/block} {/block}
</div> </div>
{block name='product_description_short'} {block name='product_description_short'}
<div id="product-description-short-{$product.id}" class="description-short" itemprop="description">{$product.description_short nofilter}</div> <div id="product-description-short-{$product.id}" class="description-short" itemprop="description">{$product.description_short nofilter}</div>
{/block} {/block}
{block name='product_after_cart_button'} {block name='product_after_cart_button'}
{include file='catalog/_partials/product-after-cart-button.tpl'} {include file='catalog/_partials/product-after-cart-button.tpl'}
{/block} {/block}
{block name='product_additional_info'} {block name='product_additional_info'}
{include file='catalog/_partials/product-additional-info.tpl'} {include file='catalog/_partials/product-additional-info.tpl'}
{/block} {/block}
{hook h='displayLeoProductReviewExtra' product=$product} {hook h='displayLeoProductReviewExtra' product=$product}
{block name='hook_display_reassurance'} {block name='hook_display_reassurance'}
{hook h='displayReassurance'} {hook h='displayReassurance'}
{/block} {/block}
</div><div class="col-md-12 col-lg-12 col-xl-12 col-sm-12 col-xs-12 col-sp-12"> {hook h='displayCustomAttributesListTable' product=$product}
{include file="sub/product_info/tab.tpl"} </div>
{block name='product_accessories'} <div class="col-md-12 col-lg-12 col-xl-12 col-sm-12 col-xs-12 col-sp-12">
{include file="sub/product_info/tab.tpl"}
{block name='product_accessories'}
{if $accessories} {if $accessories}
<section class="product-accessories clearfix"> <section class="product-accessories clearfix">
<h3 class="h5 products-section-title">{l s='You might also like' d='Shop.Theme.Catalog'}</h3> <h3 class="h5 products-section-title">{l s='You might also like' d='Shop.Theme.Catalog'}</h3>
@@ -196,56 +177,55 @@
</div> </div>
</section> </section>
{/if} {/if}
{/block} {/block}
<script type="text/javascript">
<script type="text/javascript">
products_list_functions.push( products_list_functions.push(
function(){ function() {
$('#category-products2').owlCarousel({ $('#category-products2').owlCarousel({
{if isset($IS_RTL) && $IS_RTL} {if isset($IS_RTL) && $IS_RTL}
direction:'rtl', direction: 'rtl',
{else} {else}
direction:'ltr', direction: 'ltr',
{/if} {/if}
items : 4, items: 4,
itemsCustom : false, itemsCustom: false,
itemsDesktop : [1200, 4], itemsDesktop: [1200, 4],
itemsDesktopSmall : [992, 3], itemsDesktopSmall: [992, 3],
itemsTablet : [768, 2], itemsTablet: [768, 2],
itemsTabletSmall : false, itemsTabletSmall: false,
itemsMobile : [480, 1], itemsMobile: [480, 1],
singleItem : false, // true : show only 1 item singleItem: false, // true : show only 1 item
itemsScaleUp : false, itemsScaleUp: false,
slideSpeed : 200, // change speed when drag and drop a item slideSpeed: 200, // change speed when drag and drop a item
paginationSpeed :800, // change speed when go next page paginationSpeed: 800, // change speed when go next page
autoPlay : false, // time to show each item autoPlay: false, // time to show each item
stopOnHover : false, stopOnHover: false,
navigation : true, navigation: true,
navigationText : ["&lsaquo;", "&rsaquo;"], navigationText: ["&lsaquo;", "&rsaquo;"],
scrollPerPage :true, scrollPerPage: true,
responsive :true, responsive: true,
pagination : false, pagination: false,
paginationNumbers : false, paginationNumbers: false,
addClassActive : true, addClassActive: true,
mouseDrag : true, mouseDrag: true,
touchDrag : true, touchDrag: true,
}); });
} }
); );
</script>
</script> {block name='product_footer'}
{block name='product_footer'}
{hook h='displayFooterProduct' product=$product category=$category} {hook h='displayFooterProduct' product=$product category=$category}
{/block} {/block}
</div></div> </div>
{block name='page_footer_container'} </div>
{block name='page_footer_container'}
<footer class="page-footer"> <footer class="page-footer">
{block name='page_footer'} {block name='page_footer'}
<!-- Footer content --> <!-- Footer content -->
@@ -253,4 +233,3 @@
</footer> </footer>
{/block} {/block}
</section> </section>