first commit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<section id="js-active-search-filters" class="{if $activeFilters|count}active_filters{else}hide{/if}">
|
||||
{block name='active_filters_title'}
|
||||
<h1 class="h6 {if $activeFilters|count}active-filter-title{else}hidden-xs-up{/if}">{l s='Active filters' d='Shop.Theme.Global'}</h1>
|
||||
{/block}
|
||||
|
||||
{if $activeFilters|count}
|
||||
<ul>
|
||||
{foreach from=$activeFilters item="filter"}
|
||||
{block name='active_filters_item'}
|
||||
<li class="filter-block">
|
||||
{l s='%1$s:' d='Shop.Theme.Catalog' sprintf=[$filter.facetLabel]}
|
||||
{$filter.label}
|
||||
<a class="js-search-link" href="{$filter.nextEncodedFacetsURL}"><i class="material-icons close"></i></a>
|
||||
</li>
|
||||
{/block}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</section>
|
||||
@@ -0,0 +1,41 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div id="js-product-list-header">
|
||||
{if $listing.pagination.items_shown_from == 1}
|
||||
<div class="block-category card card-block">
|
||||
<h1 class="h1">{$category.name}</h1>
|
||||
<div class="block-category-inner">
|
||||
{if $category.description}
|
||||
<div id="category-description" class="text-muted">{$category.description nofilter}</div>
|
||||
{/if}
|
||||
{if !empty($category.image.large.url)}
|
||||
<div class="category-cover">
|
||||
<img src="{$category.image.large.url}" alt="{if !empty($category.image.legend)}{$category.image.legend}{else}{$category.name}{/if}" loading="lazy" width="141" height="180">
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
168
themes/classic/templates/catalog/_partials/facets.tpl
Normal file
168
themes/classic/templates/catalog/_partials/facets.tpl
Normal file
@@ -0,0 +1,168 @@
|
||||
{**
|
||||
* 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 $facets|count}
|
||||
<div id="search_filters" class="js-search-filters">
|
||||
{block name='facets_title'}
|
||||
<p class="text-uppercase h6 hidden-sm-down">{l s='Filter By' d='Shop.Theme.Actions'}</p>
|
||||
{/block}
|
||||
|
||||
{block name='facets_clearall_button'}
|
||||
{if $activeFilters|count}
|
||||
<div id="_desktop_search_filters_clear_all" class="hidden-sm-down clear-all-wrapper">
|
||||
<button data-search-url="{$clear_all_link}" class="btn btn-tertiary js-search-filters-clear-all">
|
||||
<i class="material-icons"></i>
|
||||
{l s='Clear all' d='Shop.Theme.Actions'}
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{foreach from=$facets item="facet"}
|
||||
{if !$facet.displayed}
|
||||
{continue}
|
||||
{/if}
|
||||
|
||||
<section class="facet clearfix">
|
||||
<p class="h6 facet-title hidden-sm-down">{$facet.label}</p>
|
||||
{assign var=_expand_id value=10|mt_rand:100000}
|
||||
{assign var=_collapse value=true}
|
||||
{foreach from=$facet.filters item="filter"}
|
||||
{if $filter.active}{assign var=_collapse value=false}{/if}
|
||||
{/foreach}
|
||||
|
||||
<div class="title hidden-md-up" data-target="#facet_{$_expand_id}" data-toggle="collapse"{if !$_collapse} aria-expanded="true"{/if}>
|
||||
<p class="h6 facet-title">{$facet.label}</p>
|
||||
<span class="float-xs-right">
|
||||
<span class="navbar-toggler collapse-icons">
|
||||
<i class="material-icons add"></i>
|
||||
<i class="material-icons remove"></i>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{if $facet.widgetType !== 'dropdown'}
|
||||
{block name='facet_item_other'}
|
||||
<ul id="facet_{$_expand_id}" class="collapse{if !$_collapse} in{/if}">
|
||||
{foreach from=$facet.filters key=filter_key item="filter"}
|
||||
{if !$filter.displayed}
|
||||
{continue}
|
||||
{/if}
|
||||
|
||||
<li>
|
||||
<label class="facet-label{if $filter.active} active {/if}" for="facet_input_{$_expand_id}_{$filter_key}">
|
||||
{if $facet.multipleSelectionAllowed}
|
||||
<span class="custom-checkbox">
|
||||
<input
|
||||
id="facet_input_{$_expand_id}_{$filter_key}"
|
||||
data-search-url="{$filter.nextEncodedFacetsURL}"
|
||||
type="checkbox"
|
||||
{if $filter.active }checked{/if}
|
||||
>
|
||||
{if isset($filter.properties.texture)}
|
||||
<span class="color texture" style="background-image:url({$filter.properties.texture})"></span>
|
||||
{elseif isset($filter.properties.color)}
|
||||
<span class="color" style="background-color:{$filter.properties.color}"></span>
|
||||
{else}
|
||||
<span {if !$js_enabled} class="ps-shown-by-js" {/if}><i class="material-icons rtl-no-flip checkbox-checked"></i></span>
|
||||
{/if}
|
||||
</span>
|
||||
{else}
|
||||
<span class="custom-radio">
|
||||
<input
|
||||
id="facet_input_{$_expand_id}_{$filter_key}"
|
||||
data-search-url="{$filter.nextEncodedFacetsURL}"
|
||||
type="radio"
|
||||
name="filter {$facet.label}"
|
||||
{if $filter.active }checked{/if}
|
||||
>
|
||||
<span {if !$js_enabled} class="ps-shown-by-js" {/if}></span>
|
||||
</span>
|
||||
{/if}
|
||||
|
||||
<a
|
||||
href="{$filter.nextEncodedFacetsURL}"
|
||||
class="_gray-darker search-link js-search-link"
|
||||
rel="nofollow"
|
||||
>
|
||||
{$filter.label}
|
||||
{if $filter.magnitude}
|
||||
<span class="magnitude">({$filter.magnitude})</span>
|
||||
{/if}
|
||||
</a>
|
||||
</label>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/block}
|
||||
|
||||
{else}
|
||||
|
||||
{block name='facet_item_dropdown'}
|
||||
<ul id="facet_{$_expand_id}" class="collapse{if !$_collapse} in{/if}">
|
||||
<li>
|
||||
<div class="col-sm-12 col-xs-12 col-md-12 facet-dropdown dropdown">
|
||||
<a class="select-title" rel="nofollow" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{$active_found = false}
|
||||
<span>
|
||||
{foreach from=$facet.filters item="filter"}
|
||||
{if $filter.active}
|
||||
{$filter.label}
|
||||
{if $filter.magnitude}
|
||||
({$filter.magnitude})
|
||||
{/if}
|
||||
{$active_found = true}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if !$active_found}
|
||||
{l s='(no filter)' d='Shop.Theme.Global'}
|
||||
{/if}
|
||||
</span>
|
||||
<i class="material-icons float-xs-right"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu">
|
||||
{foreach from=$facet.filters item="filter"}
|
||||
{if !$filter.active}
|
||||
<a
|
||||
rel="nofollow"
|
||||
href="{$filter.nextEncodedFacetsURL}"
|
||||
class="select-list"
|
||||
>
|
||||
{$filter.label}
|
||||
{if $filter.magnitude}
|
||||
({$filter.magnitude})
|
||||
{/if}
|
||||
</a>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{/block}
|
||||
{/if}
|
||||
</section>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -0,0 +1,37 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{block name='brand_miniature_item'}
|
||||
<li class="brand">
|
||||
<div class="brand-img"><a href="{$brand.url}"><img src="{$brand.image}" alt="{$brand.name}" loading="lazy"></a></div>
|
||||
<div class="brand-infos">
|
||||
<p><a href="{$brand.url}">{$brand.name}</a></p>
|
||||
{$brand.text nofilter}
|
||||
</div>
|
||||
<div class="brand-products">
|
||||
<a href="{$brand.url}">{$brand.nb_products}</a>
|
||||
<a href="{$brand.url}">{l s='View products' d='Shop.Theme.Actions'}</a>
|
||||
</div>
|
||||
</li>
|
||||
{/block}
|
||||
@@ -0,0 +1,43 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{block name='category_miniature_item'}
|
||||
<section class="category-miniature">
|
||||
<a href="{$category.url}">
|
||||
<img
|
||||
src="{$category.image.medium.url}"
|
||||
alt="{if !empty($category.image.legend)}{$category.image.legend}{else}{$category.name}{/if}"
|
||||
loading="lazy"
|
||||
width="250"
|
||||
height="250"
|
||||
>
|
||||
</a>
|
||||
|
||||
<h1 class="h2">
|
||||
<a href="{$category.url}">{$category.name}</a>
|
||||
</h1>
|
||||
|
||||
<div class="category-description">{$category.description nofilter}</div>
|
||||
</section>
|
||||
{/block}
|
||||
@@ -0,0 +1,69 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{block name='pack_miniature_item'}
|
||||
<article>
|
||||
<div class="card">
|
||||
<div class="pack-product-container">
|
||||
<div class="thumb-mask">
|
||||
<div class="mask">
|
||||
<a href="{$product.url}" title="{$product.name}">
|
||||
{if !empty($product.default_image.medium)}
|
||||
<img
|
||||
src="{$product.default_image.medium.url}"
|
||||
{if !empty($product.default_image.legend)}
|
||||
alt="{$product.default_image.legend}"
|
||||
title="{$product.default_image.legend}"
|
||||
{else}
|
||||
alt="{$product.name}"
|
||||
{/if}
|
||||
loading="lazy"
|
||||
data-full-size-image-url="{$product.default_image.large.url}"
|
||||
>
|
||||
{else}
|
||||
<img src="{$urls.no_picture_image.bySize.medium_default.url}" loading="lazy" />
|
||||
{/if}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pack-product-name">
|
||||
<a href="{$product.url}" title="{$product.name}">
|
||||
{$product.name}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{if $showPackProductsPrice}
|
||||
<div class="pack-product-price">
|
||||
<strong>{$product.price}</strong>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="pack-product-quantity">
|
||||
<span>x {$product.pack_quantity}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
{/block}
|
||||
@@ -0,0 +1,121 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{block name='product_miniature_item'}
|
||||
<div class="js-product product{if !empty($productClasses)} {$productClasses}{/if}">
|
||||
<article class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}">
|
||||
<div class="thumbnail-container">
|
||||
<div class="thumbnail-top">
|
||||
{block name='product_thumbnail'}
|
||||
{if $product.cover}
|
||||
<a href="{$product.url}" class="thumbnail product-thumbnail">
|
||||
<img
|
||||
src="{$product.cover.bySize.home_default.url}"
|
||||
alt="{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
|
||||
loading="lazy"
|
||||
data-full-size-image-url="{$product.cover.large.url}"
|
||||
width="{$product.cover.bySize.home_default.width}"
|
||||
height="{$product.cover.bySize.home_default.height}"
|
||||
/>
|
||||
</a>
|
||||
{else}
|
||||
<a href="{$product.url}" class="thumbnail product-thumbnail">
|
||||
<img
|
||||
src="{$urls.no_picture_image.bySize.home_default.url}"
|
||||
loading="lazy"
|
||||
width="{$urls.no_picture_image.bySize.home_default.width}"
|
||||
height="{$urls.no_picture_image.bySize.home_default.height}"
|
||||
/>
|
||||
</a>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
<div class="highlighted-informations{if !$product.main_variants} no-variants{/if}">
|
||||
{block name='quick_view'}
|
||||
<a class="quick-view js-quick-view" href="#" data-link-action="quickview">
|
||||
<i class="material-icons search"></i> {l s='Quick view' d='Shop.Theme.Actions'}
|
||||
</a>
|
||||
{/block}
|
||||
|
||||
{block name='product_variants'}
|
||||
{if $product.main_variants}
|
||||
{include file='catalog/_partials/variant-links.tpl' variants=$product.main_variants}
|
||||
{/if}
|
||||
{/block}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="product-description">
|
||||
{block name='product_name'}
|
||||
{if $page.page_name == 'index'}
|
||||
{* <h3 class="h3 product-title"><a href="{$product.url}" content="{$product.url}">{$product.name|truncate:30:'...'}</a></h3> *}
|
||||
<h3 class="h3 product-title"><a href="{$product.url}" content="{$product.url}">{$product.name}</a></h3>
|
||||
{else}
|
||||
{* <h2 class="h3 product-title"><a href="{$product.url}" content="{$product.url}">{$product.name|truncate:30:'...'}</a></h2> *}
|
||||
<h2 class="h3 product-title"><a href="{$product.url}" content="{$product.url}">{$product.name}</a></h2>
|
||||
{/if}
|
||||
{/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" aria-label="{l s='Regular price' d='Shop.Theme.Catalog'}">{$product.regular_price}</span>
|
||||
{if $product.discount_type === 'percentage'}
|
||||
<span class="discount-percentage discount-product">{$product.discount_percentage}</span>
|
||||
{elseif $product.discount_type === 'amount'}
|
||||
<span class="discount-amount discount-product">{$product.discount_amount_to_display}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{hook h='displayProductPriceBlock' product=$product type="before_price"}
|
||||
|
||||
<span class="price" aria-label="{l s='Price' d='Shop.Theme.Catalog'}">
|
||||
{capture name='custom_price'}{hook h='displayProductPriceBlock' product=$product type='custom_price' hook_origin='products_list'}{/capture}
|
||||
{if '' !== $smarty.capture.custom_price}
|
||||
{$smarty.capture.custom_price nofilter}
|
||||
{else}
|
||||
{$product.price}
|
||||
{/if}
|
||||
</span>
|
||||
|
||||
{hook h='displayProductPriceBlock' product=$product type='unit_price'}
|
||||
|
||||
{hook h='displayProductPriceBlock' product=$product type='weight'}
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_reviews'}
|
||||
{hook h='displayProductListReviews' product=$product}
|
||||
{/block}
|
||||
</div>
|
||||
|
||||
{include file='catalog/_partials/product-flags.tpl'}
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
{/block}
|
||||
@@ -0,0 +1,38 @@
|
||||
{**
|
||||
* 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 $page.admin_notifications}
|
||||
<div class="alert alert-warning row" role="alert">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{foreach $page.admin_notifications as $notif}
|
||||
<div class="col-sm-12">
|
||||
<i class="material-icons float-xs-left"></i>
|
||||
<p class="alert-text">{$notif.message}</p>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -0,0 +1,95 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div class="product-add-to-cart js-product-add-to-cart">
|
||||
{if !$configuration.is_catalog}
|
||||
<span class="control-label">{l s='Quantity' d='Shop.Theme.Catalog'}</span>
|
||||
|
||||
{block name='product_quantity'}
|
||||
<div class="product-quantity clearfix">
|
||||
<div class="qty">
|
||||
<input
|
||||
type="number"
|
||||
name="qty"
|
||||
id="quantity_wanted"
|
||||
inputmode="numeric"
|
||||
pattern="[0-9]*"
|
||||
{if $product.quantity_wanted}
|
||||
value="{$product.quantity_wanted}"
|
||||
min="{$product.minimal_quantity}"
|
||||
{else}
|
||||
value="1"
|
||||
min="1"
|
||||
{/if}
|
||||
class="input-group"
|
||||
aria-label="{l s='Quantity' d='Shop.Theme.Actions'}"
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="add">
|
||||
<button
|
||||
class="btn btn-primary add-to-cart"
|
||||
data-button-action="add-to-cart"
|
||||
type="submit"
|
||||
{if !$product.add_to_cart_url}
|
||||
disabled
|
||||
{/if}
|
||||
>
|
||||
<i class="material-icons shopping-cart"></i>
|
||||
{l s='Add to cart' d='Shop.Theme.Actions'}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{hook h='displayProductActions' product=$product}
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_availability'}
|
||||
<span id="product-availability" class="js-product-availability">
|
||||
{if $product.show_availability && $product.availability_message}
|
||||
{if $product.availability == 'available'}
|
||||
<i class="material-icons rtl-no-flip product-available"></i>
|
||||
{elseif $product.availability == 'last_remaining_items'}
|
||||
<i class="material-icons product-last-items"></i>
|
||||
{else}
|
||||
<i class="material-icons product-unavailable"></i>
|
||||
{/if}
|
||||
{$product.availability_message}
|
||||
{/if}
|
||||
</span>
|
||||
{/block}
|
||||
|
||||
{block name='product_minimal_quantity'}
|
||||
<p class="product-minimal-quantity js-product-minimal-quantity">
|
||||
{if $product.minimal_quantity > 1}
|
||||
{l
|
||||
s='The minimum purchase order quantity for the product is %quantity%.'
|
||||
d='Shop.Theme.Checkout'
|
||||
sprintf=['%quantity%' => $product.minimal_quantity]
|
||||
}
|
||||
{/if}
|
||||
</p>
|
||||
{/block}
|
||||
{/if}
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div class="product-additional-info js-product-additional-info">
|
||||
{hook h='displayProductAdditionalInfo' product=$product}
|
||||
</div>
|
||||
@@ -0,0 +1,83 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div class="images-container js-images-container">
|
||||
{block name='product_cover'}
|
||||
<div class="product-cover">
|
||||
{if $product.default_image}
|
||||
<img
|
||||
class="js-qv-product-cover img-fluid"
|
||||
src="{$product.default_image.bySize.medium_default.url}"
|
||||
{if !empty($product.default_image.legend)}
|
||||
alt="{$product.default_image.legend}"
|
||||
title="{$product.default_image.legend}"
|
||||
{else}
|
||||
alt="{$product.name}"
|
||||
{/if}
|
||||
loading="lazy"
|
||||
width="{$product.default_image.bySize.medium_default.width}"
|
||||
height="{$product.default_image.bySize.medium_default.height}"
|
||||
>
|
||||
<div class="layer hidden-sm-down" data-toggle="modal" data-target="#product-modal">
|
||||
<i class="material-icons zoom-in">search</i>
|
||||
</div>
|
||||
{else}
|
||||
<img
|
||||
class="img-fluid"
|
||||
src="{$urls.no_picture_image.bySize.medium_default.url}"
|
||||
loading="lazy"
|
||||
width="{$urls.no_picture_image.bySize.medium_default.width}"
|
||||
height="{$urls.no_picture_image.bySize.medium_default.height}"
|
||||
>
|
||||
{/if}
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_images'}
|
||||
<div class="js-qv-mask mask">
|
||||
<ul class="product-images js-qv-product-images">
|
||||
{foreach from=$product.images item=image}
|
||||
<li class="thumb-container js-thumb-container">
|
||||
<img
|
||||
class="thumb js-thumb {if $image.id_image == $product.default_image.id_image} selected js-thumb-selected {/if}"
|
||||
data-image-medium-src="{$image.bySize.medium_default.url}"
|
||||
data-image-large-src="{$image.bySize.large_default.url}"
|
||||
src="{$image.bySize.small_default.url}"
|
||||
{if !empty($image.legend)}
|
||||
alt="{$image.legend}"
|
||||
title="{$image.legend}"
|
||||
{else}
|
||||
alt="{$product.name}"
|
||||
{/if}
|
||||
loading="lazy"
|
||||
width="{$product.default_image.bySize.small_default.width}"
|
||||
height="{$product.default_image.bySize.small_default.height}"
|
||||
>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/block}
|
||||
{hook h='displayAfterProductThumbs' product=$product}
|
||||
</div>
|
||||
@@ -0,0 +1,69 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<section class="product-customization js-product-customization">
|
||||
{if !$configuration.is_catalog}
|
||||
<div class="card card-block">
|
||||
<p class="h4 card-title">{l s='Product customization' d='Shop.Theme.Catalog'}</p>
|
||||
{l s='Don\'t forget to save your customization to be able to add to cart' d='Shop.Forms.Help'}
|
||||
|
||||
{block name='product_customization_form'}
|
||||
<form method="post" action="{$product.url}" enctype="multipart/form-data">
|
||||
<ul class="clearfix">
|
||||
{foreach from=$customizations.fields item="field"}
|
||||
<li class="product-customization-item">
|
||||
<label for="field-{$field.input_name}">{$field.label}</label>
|
||||
{if $field.type == 'text'}
|
||||
<textarea placeholder="{l s='Your message here' d='Shop.Forms.Help'}" class="product-message" maxlength="250" {if $field.required} required {/if} name="{$field.input_name}" id="field-{$field.input_name}"></textarea>
|
||||
<small class="float-xs-right">{l s='250 char. max' d='Shop.Forms.Help'}</small>
|
||||
{if $field.text !== ''}
|
||||
<h6 class="customization-message">{l s='Your customization:' d='Shop.Theme.Catalog'}
|
||||
<label>{$field.text}</label>
|
||||
</h6>
|
||||
{/if}
|
||||
{elseif $field.type == 'image'}
|
||||
{if $field.is_customized}
|
||||
<br>
|
||||
<img src="{$field.image.small.url}" loading="lazy">
|
||||
<a class="remove-image" href="{$field.remove_image_url}" rel="nofollow">{l s='Remove Image' d='Shop.Theme.Actions'}</a>
|
||||
{/if}
|
||||
<span class="custom-file">
|
||||
<span class="js-file-name">{l s='No selected file' d='Shop.Forms.Help'}</span>
|
||||
<input class="file-input js-file-input" {if $field.required} required {/if} type="file" name="{$field.input_name}" id="field-{$field.input_name}">
|
||||
<button class="btn btn-primary">{l s='Choose file' d='Shop.Theme.Actions'}</button>
|
||||
</span>
|
||||
<small class="float-xs-right">{l s='.png .jpg .gif' d='Shop.Forms.Help'}</small>
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
<div class="clearfix">
|
||||
<button class="btn btn-primary float-xs-right" type="submit" name="submitCustomizedData">{l s='Save Customization' d='Shop.Theme.Actions'}</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
|
||||
</div>
|
||||
{/if}
|
||||
</section>
|
||||
@@ -0,0 +1,91 @@
|
||||
<div class="js-product-details tab-pane fade{if !$product.description} in active{/if}"
|
||||
id="product-details"
|
||||
data-product="{$product.embedded_attributes|json_encode}"
|
||||
role="tabpanel"
|
||||
>
|
||||
{block name='product_reference'}
|
||||
{if isset($product_manufacturer->id)}
|
||||
<div class="product-manufacturer">
|
||||
{if isset($manufacturer_image_url)}
|
||||
<a href="{$product_brand_url}">
|
||||
<img src="{$manufacturer_image_url}" class="img img-fluid manufacturer-logo" alt="{$product_manufacturer->name}" loading="lazy">
|
||||
</a>
|
||||
{else}
|
||||
<label class="label">{l s='Brand' d='Shop.Theme.Catalog'}</label>
|
||||
<span>
|
||||
<a href="{$product_brand_url}">{$product_manufacturer->name}</a>
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{if isset($product.reference_to_display) && $product.reference_to_display neq ''}
|
||||
<div class="product-reference">
|
||||
<label class="label">{l s='Reference' d='Shop.Theme.Catalog'} </label>
|
||||
<span>{$product.reference_to_display}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_quantities'}
|
||||
{if $product.show_quantities}
|
||||
<div class="product-quantities">
|
||||
<label class="label">{l s='In stock' d='Shop.Theme.Catalog'}</label>
|
||||
<span data-stock="{$product.quantity}" data-allow-oosp="{$product.allow_oosp}">{$product.quantity} {$product.quantity_label}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_availability_date'}
|
||||
{if $product.availability_date}
|
||||
<div class="product-availability-date">
|
||||
<label>{l s='Availability date:' d='Shop.Theme.Catalog'} </label>
|
||||
<span>{$product.availability_date}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_out_of_stock'}
|
||||
<div class="product-out-of-stock">
|
||||
{hook h='actionProductOutOfStock' product=$product}
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_features'}
|
||||
{if $product.grouped_features}
|
||||
<section class="product-features">
|
||||
<p class="h6">{l s='Data sheet' d='Shop.Theme.Catalog'}</p>
|
||||
<dl class="data-sheet">
|
||||
{foreach from=$product.grouped_features item=feature}
|
||||
<dt class="name">{$feature.name}</dt>
|
||||
<dd class="value">{$feature.value|escape:'htmlall'|nl2br nofilter}</dd>
|
||||
{/foreach}
|
||||
</dl>
|
||||
</section>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{* if product have specific references, a table will be added to product details section *}
|
||||
{block name='product_specific_references'}
|
||||
{if !empty($product.specific_references)}
|
||||
<section class="product-features">
|
||||
<p class="h6">{l s='Specific References' d='Shop.Theme.Catalog'}</p>
|
||||
<dl class="data-sheet">
|
||||
{foreach from=$product.specific_references item=reference key=key}
|
||||
<dt class="name">{$key}</dt>
|
||||
<dd class="value">{$reference}</dd>
|
||||
{/foreach}
|
||||
</dl>
|
||||
</section>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_condition'}
|
||||
{if $product.condition}
|
||||
<div class="product-condition">
|
||||
<label class="label">{l s='Condition' d='Shop.Theme.Catalog'} </label>
|
||||
<link href="{$product.condition.schema_url}"/>
|
||||
<span>{$product.condition.label}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
</div>
|
||||
@@ -0,0 +1,49 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<section class="product-discounts js-product-discounts">
|
||||
{if $product.quantity_discounts}
|
||||
<p class="h6 product-discounts-title">{l s='Volume discounts' d='Shop.Theme.Catalog'}</p>
|
||||
{block name='product_discount_table'}
|
||||
<table class="table-product-discounts">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='Quantity' d='Shop.Theme.Catalog'}</th>
|
||||
<th>{$configuration.quantity_discount.label}</th>
|
||||
<th>{l s='You Save' d='Shop.Theme.Catalog'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$product.quantity_discounts item='quantity_discount' name='quantity_discounts'}
|
||||
<tr data-discount-type="{$quantity_discount.reduction_type}" data-discount="{$quantity_discount.real_value}" data-discount-quantity="{$quantity_discount.quantity}">
|
||||
<td>{$quantity_discount.quantity}</td>
|
||||
<td>{$quantity_discount.discount}</td>
|
||||
<td>{$quantity_discount.save}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{/block}
|
||||
{/if}
|
||||
</section>
|
||||
31
themes/classic/templates/catalog/_partials/product-flags.tpl
Normal file
31
themes/classic/templates/catalog/_partials/product-flags.tpl
Normal file
@@ -0,0 +1,31 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{block name='product_flags'}
|
||||
<ul class="product-flags js-product-flags">
|
||||
{foreach from=$product.flags item=flag}
|
||||
<li class="product-flag {$flag.type}">{$flag.label}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/block}
|
||||
@@ -0,0 +1,87 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div class="modal fade js-product-images-modal" id="product-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
{assign var=imagesCount value=$product.images|count}
|
||||
<figure>
|
||||
{if $product.default_image}
|
||||
<img
|
||||
class="js-modal-product-cover product-cover-modal"
|
||||
width="{$product.default_image.bySize.large_default.width}"
|
||||
src="{$product.default_image.bySize.large_default.url}"
|
||||
{if !empty($product.default_image.legend)}
|
||||
alt="{$product.default_image.legend}"
|
||||
title="{$product.default_image.legend}"
|
||||
{else}
|
||||
alt="{$product.name}"
|
||||
{/if}
|
||||
height="{$product.default_image.bySize.large_default.height}"
|
||||
>
|
||||
{else}
|
||||
<img src="{$urls.no_picture_image.bySize.large_default.url}" loading="lazy" width="{$urls.no_picture_image.bySize.large_default.width}" height="{$urls.no_picture_image.bySize.large_default.height}" />
|
||||
{/if}
|
||||
<figcaption class="image-caption">
|
||||
{block name='product_description_short'}
|
||||
<div id="product-description-short">{$product.description_short nofilter}</div>
|
||||
{/block}
|
||||
</figcaption>
|
||||
</figure>
|
||||
<aside id="thumbnails" class="thumbnails js-thumbnails text-sm-center">
|
||||
{block name='product_images'}
|
||||
<div class="js-modal-mask mask {if $imagesCount <= 5} nomargin {/if}">
|
||||
<ul class="product-images js-modal-product-images">
|
||||
{foreach from=$product.images item=image}
|
||||
<li class="thumb-container js-thumb-container">
|
||||
<img
|
||||
data-image-large-src="{$image.large.url}"
|
||||
class="thumb js-modal-thumb"
|
||||
src="{$image.medium.url}"
|
||||
{if !empty($image.legend)}
|
||||
alt="{$image.legend}"
|
||||
title="{$image.legend}"
|
||||
{else}
|
||||
alt="{$product.name}"
|
||||
{/if}
|
||||
width="{$image.medium.width}"
|
||||
height="148"
|
||||
>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/block}
|
||||
{if $imagesCount > 5}
|
||||
<div class="arrows js-modal-arrows">
|
||||
<i class="material-icons arrow-up js-modal-arrow-up"></i>
|
||||
<i class="material-icons arrow-down js-modal-arrow-down"></i>
|
||||
</div>
|
||||
{/if}
|
||||
</aside>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal -->
|
||||
117
themes/classic/templates/catalog/_partials/product-prices.tpl
Normal file
117
themes/classic/templates/catalog/_partials/product-prices.tpl
Normal file
@@ -0,0 +1,117 @@
|
||||
{**
|
||||
* 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 $product.show_price}
|
||||
<div class="product-prices js-product-prices">
|
||||
{block name='product_discount'}
|
||||
{if $product.has_discount}
|
||||
<div class="product-discount">
|
||||
{hook h='displayProductPriceBlock' product=$product type="old_price"}
|
||||
<span class="regular-price">{$product.regular_price}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_price'}
|
||||
<div
|
||||
class="product-price h5 {if $product.has_discount}has-discount{/if}">
|
||||
|
||||
<div class="current-price">
|
||||
<span class='current-price-value' content="{$product.rounded_display_price}">
|
||||
{capture name='custom_price'}{hook h='displayProductPriceBlock' product=$product type='custom_price' hook_origin='product_sheet'}{/capture}
|
||||
{if '' !== $smarty.capture.custom_price}
|
||||
{$smarty.capture.custom_price nofilter}
|
||||
{else}
|
||||
{$product.price}
|
||||
{/if}
|
||||
</span>
|
||||
|
||||
{if $product.has_discount}
|
||||
{if $product.discount_type === 'percentage'}
|
||||
<span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span>
|
||||
{else}
|
||||
<span class="discount discount-amount">
|
||||
{l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]}
|
||||
</span>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{block name='product_unit_price'}
|
||||
{if $displayUnitPrice}
|
||||
<p class="product-unit-price sub">{l s='(%unit_price%)' d='Shop.Theme.Catalog' sprintf=['%unit_price%' => $product.unit_price_full]}</p>
|
||||
{/if}
|
||||
{/block}
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_without_taxes'}
|
||||
{if $priceDisplay == 2}
|
||||
<p class="product-without-taxes">{l s='%price% tax excl.' d='Shop.Theme.Catalog' sprintf=['%price%' => $product.price_tax_exc]}</p>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_pack_price'}
|
||||
{if $displayPackPrice}
|
||||
<p class="product-pack-price"><span>{l s='Instead of %price%' d='Shop.Theme.Catalog' sprintf=['%price%' => $noPackPrice]}</span></p>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_ecotax'}
|
||||
{if $product.ecotax.amount > 0}
|
||||
<p class="price-ecotax">{l s='Including %amount% for ecotax' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.ecotax.value]}
|
||||
{if $product.has_discount}
|
||||
{l s='(not impacted by the discount)' d='Shop.Theme.Catalog'}
|
||||
{/if}
|
||||
</p>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{hook h='displayProductPriceBlock' product=$product type="weight" hook_origin='product_sheet'}
|
||||
|
||||
<div class="tax-shipping-delivery-label">
|
||||
{if !$configuration.taxes_enabled}
|
||||
{l s='No tax' d='Shop.Theme.Catalog'}
|
||||
{elseif $configuration.display_taxes_label}
|
||||
{$product.labels.tax_long}
|
||||
{/if}
|
||||
{hook h='displayProductPriceBlock' product=$product type="price"}
|
||||
{hook h='displayProductPriceBlock' product=$product type="after_price"}
|
||||
{if $product.is_virtual == 0}
|
||||
{if $product.additional_delivery_times == 1}
|
||||
{if $product.delivery_information}
|
||||
<span class="delivery-information">{$product.delivery_information}</span>
|
||||
{/if}
|
||||
{elseif $product.additional_delivery_times == 2}
|
||||
{if $product.quantity > 0}
|
||||
<span class="delivery-information">{$product.delivery_in_stock}</span>
|
||||
{* Out of stock message should not be displayed if customer can't order the product. *}
|
||||
{elseif $product.quantity <= 0 && $product.add_to_cart_url}
|
||||
<span class="delivery-information">{$product.delivery_out_stock}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -0,0 +1,77 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div class="product-variants js-product-variants">
|
||||
{foreach from=$groups key=id_attribute_group item=group}
|
||||
{if !empty($group.attributes)}
|
||||
<div class="clearfix product-variants-item">
|
||||
<span class="control-label">{$group.name}{l s=': ' d='Shop.Theme.Catalog'}
|
||||
{foreach from=$group.attributes key=id_attribute item=group_attribute}
|
||||
{if $group_attribute.selected}{$group_attribute.name}{/if}
|
||||
{/foreach}
|
||||
</span>
|
||||
{if $group.group_type == 'select'}
|
||||
<select
|
||||
class="form-control form-control-select"
|
||||
id="group_{$id_attribute_group}"
|
||||
aria-label="{$group.name}"
|
||||
data-product-attribute="{$id_attribute_group}"
|
||||
name="group[{$id_attribute_group}]">
|
||||
{foreach from=$group.attributes key=id_attribute item=group_attribute}
|
||||
<option value="{$id_attribute}" title="{$group_attribute.name}"{if $group_attribute.selected} selected="selected"{/if}>{$group_attribute.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
{elseif $group.group_type == 'color'}
|
||||
<ul id="group_{$id_attribute_group}">
|
||||
{foreach from=$group.attributes key=id_attribute item=group_attribute}
|
||||
<li class="float-xs-left input-container">
|
||||
<label aria-label="{$group_attribute.name}">
|
||||
<input class="input-color" type="radio" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}" title="{$group_attribute.name}"{if $group_attribute.selected} checked="checked"{/if}>
|
||||
<span
|
||||
{if $group_attribute.texture}
|
||||
class="color texture" style="background-image: url({$group_attribute.texture})"
|
||||
{elseif $group_attribute.html_color_code}
|
||||
class="color" style="background-color: {$group_attribute.html_color_code}"
|
||||
{/if}
|
||||
><span class="attribute-name sr-only">{$group_attribute.name}</span></span>
|
||||
</label>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{elseif $group.group_type == 'radio'}
|
||||
<ul id="group_{$id_attribute_group}">
|
||||
{foreach from=$group.attributes key=id_attribute item=group_attribute}
|
||||
<li class="input-container float-xs-left">
|
||||
<label>
|
||||
<input class="input-radio" type="radio" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}" title="{$group_attribute.name}"{if $group_attribute.selected} checked="checked"{/if}>
|
||||
<span class="radio-label">{$group_attribute.name}</span>
|
||||
</label>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
32
themes/classic/templates/catalog/_partials/productlist.tpl
Normal file
32
themes/classic/templates/catalog/_partials/productlist.tpl
Normal file
@@ -0,0 +1,32 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
|
||||
{capture assign="productClasses"}{if !empty($productClass)}{$productClass}{else}col-xs-6 col-xl-4{/if}{/capture}
|
||||
|
||||
<div class="products{if !empty($cssClass)} {$cssClass}{/if}">
|
||||
{foreach from=$products item="product" key="position"}
|
||||
{include file="catalog/_partials/miniatures/product.tpl" product=$product position=$position productClasses=$productClasses}
|
||||
{/foreach}
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
{*
|
||||
* Classic theme doesn't use this subtemplate, feel free to do whatever you need here.
|
||||
* This template is generated at each ajax calls.
|
||||
* See ProductListingFrontController::getAjaxProductSearchVariables()
|
||||
*}
|
||||
<div id="js-product-list-bottom"></div>
|
||||
56
themes/classic/templates/catalog/_partials/products-top.tpl
Normal file
56
themes/classic/templates/catalog/_partials/products-top.tpl
Normal file
@@ -0,0 +1,56 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div id="js-product-list-top" class="row products-selection">
|
||||
<div class="col-md-6 hidden-sm-down total-products">
|
||||
{if $listing.pagination.total_items > 1}
|
||||
<p>{l s='There are %product_count% products.' d='Shop.Theme.Catalog' sprintf=['%product_count%' => $listing.pagination.total_items]}</p>
|
||||
{elseif $listing.pagination.total_items > 0}
|
||||
<p>{l s='There is 1 product.' d='Shop.Theme.Catalog'}</p>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row sort-by-row">
|
||||
|
||||
{block name='sort_by'}
|
||||
{include file='catalog/_partials/sort-orders.tpl' sort_orders=$listing.sort_orders}
|
||||
{/block}
|
||||
|
||||
{if !empty($listing.rendered_facets)}
|
||||
<div class="col-sm-3 col-xs-4 hidden-md-up filter-button">
|
||||
<button id="search_filter_toggler" class="btn btn-secondary js-search-toggler">
|
||||
{l s='Filter' d='Shop.Theme.Actions'}
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 hidden-md-up text-sm-center showing">
|
||||
{l s='Showing %from%-%to% of %total% item(s)' d='Shop.Theme.Catalog' sprintf=[
|
||||
'%from%' => $listing.pagination.items_shown_from ,
|
||||
'%to%' => $listing.pagination.items_shown_to,
|
||||
'%total%' => $listing.pagination.total_items
|
||||
]}
|
||||
</div>
|
||||
</div>
|
||||
38
themes/classic/templates/catalog/_partials/products.tpl
Normal file
38
themes/classic/templates/catalog/_partials/products.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div id="js-product-list">
|
||||
{include file="catalog/_partials/productlist.tpl" products=$listing.products cssClass="row"}
|
||||
|
||||
{block name='pagination'}
|
||||
{include file='_partials/pagination.tpl' pagination=$listing.pagination}
|
||||
{/block}
|
||||
|
||||
<div class="hidden-md-up text-xs-right up">
|
||||
<a href="#header" class="btn btn-secondary">
|
||||
{l s='Back to top' d='Shop.Theme.Actions'}
|
||||
<i class="material-icons"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
81
themes/classic/templates/catalog/_partials/quickview.tpl
Normal file
81
themes/classic/templates/catalog/_partials/quickview.tpl
Normal file
@@ -0,0 +1,81 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div id="quickview-modal-{$product.id}-{$product.id_product_attribute}" class="modal fade quickview" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="{l s='Close' d='Shop.Theme.Global'}">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-6 hidden-xs-down">
|
||||
{block name='product_cover_thumbnails'}
|
||||
{include file='catalog/_partials/product-cover-thumbnails.tpl'}
|
||||
{/block}
|
||||
<div class="arrows js-arrows">
|
||||
<i class="material-icons arrow-up js-arrow-up"></i>
|
||||
<i class="material-icons arrow-down js-arrow-down"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-6">
|
||||
<h1 class="h1">{$product.name}</h1>
|
||||
{block name='product_prices'}
|
||||
{include file='catalog/_partials/product-prices.tpl'}
|
||||
{/block}
|
||||
{block name='product_description_short'}
|
||||
<div id="product-description-short">{$product.description_short nofilter}</div>
|
||||
{/block}
|
||||
{block name='product_buy'}
|
||||
<div class="product-actions js-product-actions">
|
||||
<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="id_product" value="{$product.id}" id="product_page_product_id">
|
||||
<input type="hidden" name="id_customization" value="{$product.id_customization}" id="product_customization_id" class="js-product-customization-id">
|
||||
{block name='product_variants'}
|
||||
{include file='catalog/_partials/product-variants.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='product_add_to_cart'}
|
||||
{include file='catalog/_partials/product-add-to-cart.tpl'}
|
||||
{/block}
|
||||
|
||||
{* Input to refresh product HTML removed, block kept for compatibility with themes *}
|
||||
{block name='product_refresh'}{/block}
|
||||
</form>
|
||||
</div>
|
||||
{/block}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div class="product-additional-info js-product-additional-info">
|
||||
{hook h='displayProductAdditionalInfo' product=$product}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
49
themes/classic/templates/catalog/_partials/sort-orders.tpl
Normal file
49
themes/classic/templates/catalog/_partials/sort-orders.tpl
Normal file
@@ -0,0 +1,49 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
|
||||
<span class="col-sm-3 col-md-3 hidden-sm-down sort-by">{l s='Sort by:' d='Shop.Theme.Global'}</span>
|
||||
<div class="{if !empty($listing.rendered_facets)}col-sm-9 col-xs-8{else}col-sm-12 col-xs-12{/if} col-md-9 products-sort-order dropdown">
|
||||
<button
|
||||
class="btn-unstyle select-title"
|
||||
rel="nofollow"
|
||||
data-toggle="dropdown"
|
||||
aria-label="{l s='Sort by selection' d='Shop.Theme.Global'}"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
{if $listing.sort_selected}{$listing.sort_selected}{else}{l s='Select' d='Shop.Theme.Actions'}{/if}
|
||||
<i class="material-icons float-xs-right"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
{foreach from=$listing.sort_orders item=sort_order}
|
||||
<a
|
||||
rel="nofollow"
|
||||
href="{$sort_order.url}"
|
||||
class="select-list {['current' => $sort_order.current, 'js-search-link' => true]|classnames}"
|
||||
>
|
||||
{$sort_order.label}
|
||||
</a>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
50
themes/classic/templates/catalog/_partials/subcategories.tpl
Normal file
50
themes/classic/templates/catalog/_partials/subcategories.tpl
Normal file
@@ -0,0 +1,50 @@
|
||||
{**
|
||||
* 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 !empty($subcategories)}
|
||||
{if (isset($display_subcategories) && $display_subcategories eq 1) || !isset($display_subcategories) }
|
||||
<div id="subcategories" class="card card-block">
|
||||
<h2 class="subcategory-heading">{l s='Subcategories' d='Shop.Theme.Category'}</h2>
|
||||
|
||||
<ul class="subcategories-list">
|
||||
{foreach from=$subcategories item=subcategory}
|
||||
<li>
|
||||
<div class="subcategory-image">
|
||||
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">
|
||||
{if !empty($subcategory.image.large.url)}
|
||||
<img class="replace-2x" src="{$subcategory.image.large.url}" alt="{$subcategory.name|escape:'html':'UTF-8'}" loading="lazy" width="141" height="180"/>
|
||||
{/if}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'}</a></h5>
|
||||
{if $subcategory.description}
|
||||
<div class="cat_desc">{$subcategory.description|unescape:'html' nofilter}</div>
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
36
themes/classic/templates/catalog/_partials/variant-links.tpl
Normal file
36
themes/classic/templates/catalog/_partials/variant-links.tpl
Normal file
@@ -0,0 +1,36 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
<div class="variant-links">
|
||||
{foreach from=$variants item=variant}
|
||||
<a href="{$variant.url}"
|
||||
class="{$variant.type}"
|
||||
title="{$variant.name}"
|
||||
aria-label="{$variant.name}"
|
||||
{if $variant.texture} style="background-image: url({$variant.texture})"
|
||||
{elseif $variant.html_color_code} style="background-color: {$variant.html_color_code}" {/if}
|
||||
></a>
|
||||
{/foreach}
|
||||
<span class="js-count count"></span>
|
||||
</div>
|
||||
44
themes/classic/templates/catalog/brands.tpl
Normal file
44
themes/classic/templates/catalog/brands.tpl
Normal file
@@ -0,0 +1,44 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file=$layout}
|
||||
|
||||
{block name='content'}
|
||||
<section id="main">
|
||||
|
||||
{block name='brand_header'}
|
||||
<h1>{l s='Brands' d='Shop.Theme.Catalog'}</h1>
|
||||
{/block}
|
||||
|
||||
{block name='brand_miniature'}
|
||||
<ul>
|
||||
{foreach from=$brands item=brand}
|
||||
{include file='catalog/_partials/miniatures/brand.tpl' brand=$brand}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/block}
|
||||
|
||||
</section>
|
||||
|
||||
{/block}
|
||||
5
themes/classic/templates/catalog/listing/best-sales.tpl
Normal file
5
themes/classic/templates/catalog/listing/best-sales.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
{*
|
||||
* This file allows you to customize your best-sales page.
|
||||
* You can safely remove it if you want it to appear exactly like all other product listing pages
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
29
themes/classic/templates/catalog/listing/category.tpl
Normal file
29
themes/classic/templates/catalog/listing/category.tpl
Normal file
@@ -0,0 +1,29 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
|
||||
{block name='product_list_header'}
|
||||
{include file='catalog/_partials/category-header.tpl' listing=$listing category=$category}
|
||||
{/block}
|
||||
35
themes/classic/templates/catalog/listing/manufacturer.tpl
Normal file
35
themes/classic/templates/catalog/listing/manufacturer.tpl
Normal file
@@ -0,0 +1,35 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
|
||||
{block name='product_list_header'}
|
||||
<h1>{l s='List of products by brand %brand_name%' sprintf=['%brand_name%' => $manufacturer.name] d='Shop.Theme.Catalog'}</h1>
|
||||
<div id="manufacturer-short_description">{$manufacturer.short_description nofilter}</div>
|
||||
<div id="manufacturer-description">{$manufacturer.description nofilter}</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_list'}
|
||||
{include file='catalog/_partials/products.tpl' listing=$listing productClass="col-xs-6 col-xl-3"}
|
||||
{/block}
|
||||
@@ -0,0 +1,5 @@
|
||||
{*
|
||||
* This file allows you to customize your new-product page.
|
||||
* You can safely remove it if you want it to appear exactly like all other product listing pages
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
5
themes/classic/templates/catalog/listing/prices-drop.tpl
Normal file
5
themes/classic/templates/catalog/listing/prices-drop.tpl
Normal file
@@ -0,0 +1,5 @@
|
||||
{*
|
||||
* This file allows you to customize your price-drop page.
|
||||
* You can safely remove it if you want it to appear exactly like all other product listing pages
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
86
themes/classic/templates/catalog/listing/product-list.tpl
Normal file
86
themes/classic/templates/catalog/listing/product-list.tpl
Normal file
@@ -0,0 +1,86 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file=$layout}
|
||||
|
||||
{block name='head_microdata_special'}
|
||||
{include file='_partials/microdata/product-list-jsonld.tpl' listing=$listing}
|
||||
{/block}
|
||||
|
||||
{block name='content'}
|
||||
<section id="main">
|
||||
|
||||
{block name='product_list_header'}
|
||||
<h1 id="js-product-list-header" class="h2">{$listing.label}</h1>
|
||||
{/block}
|
||||
|
||||
{block name='subcategory_list'}
|
||||
{if isset($subcategories) && $subcategories|@count > 0}
|
||||
{include file='catalog/_partials/subcategories.tpl' subcategories=$subcategories}
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{hook h="displayHeaderCategory"}
|
||||
|
||||
<section id="products">
|
||||
{if $listing.products|count}
|
||||
|
||||
{block name='product_list_top'}
|
||||
{include file='catalog/_partials/products-top.tpl' listing=$listing}
|
||||
{/block}
|
||||
|
||||
{block name='product_list_active_filters'}
|
||||
<div class="hidden-sm-down">
|
||||
{$listing.rendered_active_filters nofilter}
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_list'}
|
||||
{include file='catalog/_partials/products.tpl' listing=$listing productClass="col-xs-6 col-xl-4"}
|
||||
{/block}
|
||||
|
||||
{block name='product_list_bottom'}
|
||||
{include file='catalog/_partials/products-bottom.tpl' listing=$listing}
|
||||
{/block}
|
||||
|
||||
{else}
|
||||
<div id="js-product-list-top"></div>
|
||||
|
||||
<div id="js-product-list">
|
||||
{capture assign="errorContent"}
|
||||
<h4>{l s='No products available yet' d='Shop.Theme.Catalog'}</h4>
|
||||
<p>{l s='Stay tuned! More products will be shown here as they are added.' d='Shop.Theme.Catalog'}</p>
|
||||
{/capture}
|
||||
|
||||
{include file='errors/not-found.tpl' errorContent=$errorContent}
|
||||
</div>
|
||||
|
||||
<div id="js-product-list-bottom"></div>
|
||||
{/if}
|
||||
</section>
|
||||
|
||||
{hook h="displayFooterCategory"}
|
||||
|
||||
</section>
|
||||
{/block}
|
||||
14
themes/classic/templates/catalog/listing/search.tpl
Normal file
14
themes/classic/templates/catalog/listing/search.tpl
Normal file
@@ -0,0 +1,14 @@
|
||||
{*
|
||||
* This file allows you to customize your search page.
|
||||
* You can safely remove it if you want it to appear exactly like all other product listing pages
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
|
||||
{block name="error_content"}
|
||||
<h4>{l s='No matches were found for your search' d='Shop.Theme.Catalog'}</h4>
|
||||
<p>{l s='Please try other keywords to describe what you are looking for.' d='Shop.Theme.Catalog'}</p>
|
||||
{/block}
|
||||
|
||||
{block name='product_list'}
|
||||
{include file='catalog/_partials/products.tpl' listing=$listing productClass="col-xs-6 col-xl-3"}
|
||||
{/block}
|
||||
34
themes/classic/templates/catalog/listing/supplier.tpl
Normal file
34
themes/classic/templates/catalog/listing/supplier.tpl
Normal file
@@ -0,0 +1,34 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file='catalog/listing/product-list.tpl'}
|
||||
|
||||
{block name='product_list_header'}
|
||||
<h1>{l s='List of products by supplier %s' sprintf=[$supplier.name] d='Shop.Theme.Catalog'}</h1>
|
||||
<div id="supplier-description">{$supplier.description nofilter}</div>
|
||||
{/block}
|
||||
|
||||
{block name='product_list'}
|
||||
{include file='catalog/_partials/products.tpl' listing=$listing productClass="col-xs-6 col-xl-3"}
|
||||
{/block}
|
||||
25
themes/classic/templates/catalog/manufacturers.tpl
Normal file
25
themes/classic/templates/catalog/manufacturers.tpl
Normal file
@@ -0,0 +1,25 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file='catalog/brands.tpl'}
|
||||
260
themes/classic/templates/catalog/product.tpl
Normal file
260
themes/classic/templates/catalog/product.tpl
Normal file
@@ -0,0 +1,260 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file=$layout}
|
||||
|
||||
{block name='head' append}
|
||||
<meta property="og:type" content="product">
|
||||
{if $product.cover}
|
||||
<meta property="og:image" content="{$product.cover.large.url}">
|
||||
{/if}
|
||||
|
||||
{if $product.show_price}
|
||||
<meta property="product:pretax_price:amount" content="{$product.price_tax_exc}">
|
||||
<meta property="product:pretax_price:currency" content="{$currency.iso_code}">
|
||||
<meta property="product:price:amount" content="{$product.price_amount}">
|
||||
<meta property="product:price:currency" content="{$currency.iso_code}">
|
||||
{/if}
|
||||
{if isset($product.weight) && ($product.weight != 0)}
|
||||
<meta property="product:weight:value" content="{$product.weight}">
|
||||
<meta property="product:weight:units" content="{$product.weight_unit}">
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='head_microdata_special'}
|
||||
{include file='_partials/microdata/product-jsonld.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='content'}
|
||||
|
||||
<section id="main">
|
||||
<meta content="{$product.url}">
|
||||
|
||||
<div class="row product-container js-product-container">
|
||||
<div class="col-md-6">
|
||||
{block name='page_content_container'}
|
||||
<section class="page-content" id="content">
|
||||
{block name='page_content'}
|
||||
{include file='catalog/_partials/product-flags.tpl'}
|
||||
|
||||
{block name='product_cover_thumbnails'}
|
||||
{include file='catalog/_partials/product-cover-thumbnails.tpl'}
|
||||
{/block}
|
||||
<div class="scroll-box-arrows">
|
||||
<i class="material-icons left"></i>
|
||||
<i class="material-icons right"></i>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
</section>
|
||||
{/block}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{block name='page_header_container'}
|
||||
{block name='page_header'}
|
||||
<h1 class="h1">{block name='page_title'}{$product.name}{/block}</h1>
|
||||
{/block}
|
||||
{/block}
|
||||
{block name='product_prices'}
|
||||
{include file='catalog/_partials/product-prices.tpl'}
|
||||
{/block}
|
||||
|
||||
<div class="product-information">
|
||||
{block name='product_description_short'}
|
||||
<div id="product-description-short-{$product.id}" class="product-description">{$product.description_short nofilter}</div>
|
||||
{/block}
|
||||
|
||||
{if $product.is_customizable && count($product.customizations.fields)}
|
||||
{block name='product_customization'}
|
||||
{include file="catalog/_partials/product-customization.tpl" customizations=$product.customizations}
|
||||
{/block}
|
||||
{/if}
|
||||
|
||||
<div class="product-actions js-product-actions">
|
||||
{block name='product_buy'}
|
||||
<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="id_product" value="{$product.id}" id="product_page_product_id">
|
||||
<input type="hidden" name="id_customization" value="{$product.id_customization}" id="product_customization_id" class="js-product-customization-id">
|
||||
|
||||
{block name='product_variants'}
|
||||
{include file='catalog/_partials/product-variants.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='product_pack'}
|
||||
{if $packItems}
|
||||
<section class="product-pack">
|
||||
<p class="h4">{l s='This pack contains' d='Shop.Theme.Catalog'}</p>
|
||||
{foreach from=$packItems item="product_pack"}
|
||||
{block name='product_miniature'}
|
||||
{include file='catalog/_partials/miniatures/pack-product.tpl' product=$product_pack showPackProductsPrice=$product.show_price}
|
||||
{/block}
|
||||
{/foreach}
|
||||
</section>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_discounts'}
|
||||
{include file='catalog/_partials/product-discounts.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='product_add_to_cart'}
|
||||
{include file='catalog/_partials/product-add-to-cart.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='product_additional_info'}
|
||||
{include file='catalog/_partials/product-additional-info.tpl'}
|
||||
{/block}
|
||||
|
||||
{* Input to refresh product HTML removed, block kept for compatibility with themes *}
|
||||
{block name='product_refresh'}{/block}
|
||||
</form>
|
||||
{/block}
|
||||
|
||||
</div>
|
||||
|
||||
{block name='hook_display_reassurance'}
|
||||
{hook h='displayReassurance'}
|
||||
{/block}
|
||||
|
||||
{block name='product_tabs'}
|
||||
<div class="tabs">
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
{if $product.description}
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link{if $product.description} active js-product-nav-active{/if}"
|
||||
data-toggle="tab"
|
||||
href="#description"
|
||||
role="tab"
|
||||
aria-controls="description"
|
||||
{if $product.description} aria-selected="true"{/if}>{l s='Description' d='Shop.Theme.Catalog'}</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link{if !$product.description} active js-product-nav-active{/if}"
|
||||
data-toggle="tab"
|
||||
href="#product-details"
|
||||
role="tab"
|
||||
aria-controls="product-details"
|
||||
{if !$product.description} aria-selected="true"{/if}>{l s='Product Details' d='Shop.Theme.Catalog'}</a>
|
||||
</li>
|
||||
{if $product.attachments}
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link"
|
||||
data-toggle="tab"
|
||||
href="#attachments"
|
||||
role="tab"
|
||||
aria-controls="attachments">{l s='Attachments' d='Shop.Theme.Catalog'}</a>
|
||||
</li>
|
||||
{/if}
|
||||
{foreach from=$product.extraContent item=extra key=extraKey}
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link"
|
||||
data-toggle="tab"
|
||||
href="#extra-{$extraKey}"
|
||||
role="tab"
|
||||
aria-controls="extra-{$extraKey}">{$extra.title}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content" id="tab-content">
|
||||
<div class="tab-pane fade in{if $product.description} active js-product-tab-active{/if}" id="description" role="tabpanel">
|
||||
{block name='product_description'}
|
||||
<div class="product-description">{$product.description nofilter}</div>
|
||||
{/block}
|
||||
</div>
|
||||
|
||||
{block name='product_details'}
|
||||
{include file='catalog/_partials/product-details.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='product_attachments'}
|
||||
{if $product.attachments}
|
||||
<div class="tab-pane fade in" id="attachments" role="tabpanel">
|
||||
<section class="product-attachments">
|
||||
<p class="h5 text-uppercase">{l s='Download' d='Shop.Theme.Actions'}</p>
|
||||
{foreach from=$product.attachments item=attachment}
|
||||
<div class="attachment">
|
||||
<h4><a href="{url entity='attachment' params=['id_attachment' => $attachment.id_attachment]}">{$attachment.name}</a></h4>
|
||||
<p>{$attachment.description}</p>
|
||||
<a href="{url entity='attachment' params=['id_attachment' => $attachment.id_attachment]}">
|
||||
{l s='Download' d='Shop.Theme.Actions'} ({$attachment.file_size_formatted})
|
||||
</a>
|
||||
</div>
|
||||
{/foreach}
|
||||
</section>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{foreach from=$product.extraContent item=extra key=extraKey}
|
||||
<div class="tab-pane fade in {$extra.attr.class}" id="extra-{$extraKey}" role="tabpanel" {foreach $extra.attr as $key => $val} {$key}="{$val}"{/foreach}>
|
||||
{$extra.content nofilter}
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{block name='product_accessories'}
|
||||
{if $accessories}
|
||||
<section class="product-accessories clearfix">
|
||||
<p class="h5 text-uppercase">{l s='You might also like' d='Shop.Theme.Catalog'}</p>
|
||||
<div class="products row">
|
||||
{foreach from=$accessories item="product_accessory" key="position"}
|
||||
{block name='product_miniature'}
|
||||
{include file='catalog/_partials/miniatures/product.tpl' product=$product_accessory position=$position productClasses="col-xs-6 col-lg-4 col-xl-3"}
|
||||
{/block}
|
||||
{/foreach}
|
||||
</div>
|
||||
</section>
|
||||
{/if}
|
||||
{/block}
|
||||
|
||||
{block name='product_footer'}
|
||||
{hook h='displayFooterProduct' product=$product category=$category}
|
||||
{/block}
|
||||
|
||||
{block name='product_images_modal'}
|
||||
{include file='catalog/_partials/product-images-modal.tpl'}
|
||||
{/block}
|
||||
|
||||
{block name='page_footer_container'}
|
||||
<footer class="page-footer">
|
||||
{block name='page_footer'}
|
||||
<!-- Footer content -->
|
||||
{/block}
|
||||
</footer>
|
||||
{/block}
|
||||
</section>
|
||||
|
||||
{/block}
|
||||
29
themes/classic/templates/catalog/suppliers.tpl
Normal file
29
themes/classic/templates/catalog/suppliers.tpl
Normal file
@@ -0,0 +1,29 @@
|
||||
{**
|
||||
* 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)
|
||||
*}
|
||||
{extends file='catalog/brands.tpl'}
|
||||
|
||||
{block name='brand_header'}
|
||||
<h1>{l s='Suppliers' d='Shop.Theme.Catalog'}</h1>
|
||||
{/block}
|
||||
Reference in New Issue
Block a user