first commit

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

View File

@@ -0,0 +1,113 @@
[
{"group": [
{
"type": "sperator",
"name":"Select One Image & thumb type only"
},
{
"name":"1. image and thumb normal view: left, right, bottom, none",
"class": "leo-detail-1",
"icon": "icon-picture",
"file":"product_image_with_thumb",
"config":"image-thumb-1",
"data-form":{
"templateview":"bottom",
"numberimagedesktop":"5",
"numberimagemobile":"2",
"numberimageipad":"2",
"templatezoomtype":"in"
}
},
{
"name":"1. image product Gallery",
"class": "leo-detail-3",
"icon": "icon-picture",
"file":"product_image_show_all",
"config":"image-thumb-2",
"data-form":{"templatezoomtype":"in"}
},
{
"type": "sperator",
"name":"Other Information"
},
{
"name":"2. product detail name",
"icon": "icon-info-sign",
"file":"product_detail_name"
},
{
"name":"3. hook product additional info",
"icon": "icon-plus-sign-alt",
"file":"hook_display_product_additional_info"
},
{
"name":"4. hook product leo review extra",
"icon":"icon-star",
"file":"hook_display_leo_product_review_extra"
},
{
"name":"5. price",
"icon": "icon-money",
"file":"product_price"
},
{
"name":"6. description short",
"icon":"icon-list-alt",
"file":"product_description_short"
},
{
"name":"7. product customization",
"icon": "icon-sun",
"file":"product_customization"
},
{
"name":"8. actions form: varian, add to cart form",
"icon": "icon-shopping-cart",
"file":"product_actions_form"
},
{
"name":"9. display reassurance",
"icon": "icon-shield",
"file":"hook_display_reassurance"
}
]
},
{
"group": [
{
"type": "sperator",
"name":"Select one product more info only"
},
{
"name":"10. More Info: default",
"icon": "icon-file-text-alt",
"file":"product_more_info_default"
},
{
"name":"10. More Info: accordions",
"icon": "icon-file-text-alt",
"file":"product_more_info_accordions"
},
{
"name":"10. More Info: tab",
"icon": "icon-file-text-alt",
"file":"product_more_info_tab"
}
]
},
{
"group": [
{
"name":"11. product accessories",
"icon":"icon-link",
"file":"product_accessories"
},
{
"name":"12. hook footer product",
"icon":"icon-eject",
"file":"hook_display_footer_product"
}
]
}
]

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<div class="">

View File

@@ -0,0 +1,16 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='page_footer_container'}
<footer class="page-footer">
{block name='page_footer'}
<!-- Footer content -->
{/block}
</footer>
{/block}
</section>

View File

@@ -0,0 +1,9 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<section id="main" class="product-detail" itemscope itemtype="https://schema.org/Product">
<meta itemprop="url" content="{$product.url}">

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='product_footer'}
{hook h='displayFooterProduct' product=$product category=$category}
{/block}

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{hook h='displayLeoProductReviewExtra' product=$product}

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='product_additional_info'}
{include file='catalog/_partials/product-additional-info.tpl'}
{/block}

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='hook_display_reassurance'}
{hook h='displayReassurance'}
{/block}

View File

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

View File

@@ -0,0 +1,14 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='page_footer_container'}
<footer class="page-footer">
{block name='page_footer'}
<!-- Footer content -->
{/block}
</footer>
{/block}

View File

@@ -0,0 +1,34 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='product_accessories'}
{if $accessories}
<section class="product-accessories clearfix">
<div class="description-short-title">
<img src="/themes/at_movic/assets/img/modules/appagebuilder/images/arrow_triple.svg" alt="">
<h2>{l s='You might also like' d='Shop.Theme.Catalog'}</h2>
</div>
{* <h3 class="h5 products-section-title">{l s='You might also like' d='Shop.Theme.Catalog'}</h3> *}
<div class="products">
<div class="row">
{foreach from=$accessories item="product_accessory"}
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-6 col-sp-12 ajax_block_product">
{block name='product_miniature'}
{if isset($productProfileDefault) && $productProfileDefault}
{* exits THEME_NAME/profiles/profile_name.tpl -> load template*}
{hook h='displayLeoProfileProduct' product=$product_accessory profile=$productProfileDefault}
{else}
{include file='catalog/_partials/miniatures/product.tpl' product=$product_accessory}
{/if}
{/block}
</div>
{/foreach}
</div>
</div>
</section>
{/if}
{/block}

View File

@@ -0,0 +1,45 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<div class="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">
{block name='product_variants'}
{include file='catalog/_partials/product-variants.tpl'}
{/block}
{block name='product_pack'}
{if $packItems}
<section class="product-pack">
<h3 class="h4">{l s='This pack contains' d='Shop.Theme.Catalog'}</h3>
{foreach from=$packItems item="product_pack"}
{block name='product_miniature'}
{include file='catalog/_partials/miniatures/pack-product.tpl' product=$product_pack}
{/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_refresh'}
<input class="product-refresh ps-hidden-by-js" name="refresh" type="submit" value="{l s='Refresh' d='Shop.Theme.Actions'}">
{/block}
</form>
{/block}
</div>

View File

@@ -0,0 +1,12 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{if $product.is_customizable && count($product.customizations.fields)}
{block name='product_customization'}
{include file="catalog/_partials/product-customization.tpl" customizations=$product.customizations}
{/block}
{/if}

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='product_description_short'}
<div id="product-description-short-{$product.id}" class="description-short" itemprop="description">{$product.description_short nofilter}</div>
{/block}

View File

@@ -0,0 +1,12 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='page_header_container'}
{block name='page_header'}
<h1 class="h1 product-detail-name" itemprop="name">{block name='page_title'}{$product.name}{/block}</h1>
{/block}
{/block}

View File

@@ -0,0 +1,20 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='page_content_container'}
<section class="page-content" id="content">
{block name='page_content'}
<div class="images-container">
{block name='product_cover_thumbnails'}
{include file='catalog/_partials/product-cover.tpl'}
{include file='catalog/_partials/product-images.tpl'}
{/block}
{hook h='displayAfterProductThumbs'}
</div>
{/block}
</section>
{/block}

View File

@@ -0,0 +1,102 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='page_content_container'}
<section class="page-content" id="content">
{block name='page_content'}
<div class="images-container">
{block name='product_cover_thumbnails'}
{if $isMobile && $dmobile_swipe}
<div class="list-images-mobile">
{foreach from=$product.images item=image}
<div>
<img
class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}{if $aplazyload} lazy{/if}"
data-image-medium-src="{$image.bySize.medium_default.url}"
data-image-large-src="{$image.bySize.large_default.url}"
{if $aplazyload}data-src{else}src{/if}="{$image.bySize.large_default.url}"
alt="{$image.legend}"
title="{$image.legend}"
itemprop="image"
>
</div>
{/foreach}
</div>
{else}
{block name='product_cover'}
<div class="product-cover">
{block name='product_flags'}
<ul class="product-flags">
{foreach from=$product.flags item=flag}
<li class="product-flag {$flag.type}">{$flag.label}</li>
{/foreach}
</ul>
{/block}
{if $product.cover}
<img id="zoom_product" data-type-zoom="" class="js-qv-product-cover img-fluid{if $aplazyload} lazy{/if}" {if $aplazyload}data-src{else}src{/if}="{$product.cover.bySize.large_default.url}" alt="{$product.cover.legend}" title="{$product.cover.legend}" itemprop="image">
<div class="layer hidden-sm-down" data-toggle="modal" data-target="#product-modal">
<i class="material-icons zoom-in">&#xE8FF;</i>
</div>
{else}
<img id="zoom_product" data-type-zoom="" class="js-qv-product-cover img-fluid{if $aplazyload} lazy{/if}" {if $aplazyload}data-src{else}src{/if}="{$urls.no_picture_image.bySize.large_default.url}" alt="{$product.name}" title="{$product.name}" itemprop="image">
{/if}
</div>
{/block}
{block name='product_images'}
<div id="thumb-gallery" class="product-thumb-images">
{if $product.cover}
{foreach from=$product.images item=image}
<div class="thumb-container {if $image.id_image == $product.cover.id_image} active {/if}">
<a href="javascript:void(0)" data-image="{$image.bySize.large_default.url}" data-zoom-image="{$image.bySize.large_default.url}">
<img
class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}{if $aplazyload} lazy{/if}"
data-image-medium-src="{$image.bySize.medium_default.url}"
data-image-large-src="{$image.bySize.large_default.url}"
{if $aplazyload}data-src{else}src{/if}="{$image.bySize.home_default.url}"
alt="{$image.legend}"
title="{$image.legend}"
itemprop="image"
>
</a>
</div>
{/foreach}
{else}
<div class="thumb-container">
<a href="javascript:void(0)" data-image="{$urls.no_picture_image.bySize.large_default.url}" data-zoom-image="{$urls.no_picture_image.bySize.large_default.url}">
<img
class="thumb js-thumb img-fluid{if $aplazyload} lazy{/if}"
data-image-medium-src="{$urls.no_picture_image.bySize.medium_default.url}"
data-image-large-src="{$urls.no_picture_image.bySize.large_default.url}"
{if $aplazyload}data-src{else}src{/if}="{$urls.no_picture_image.bySize.home_default.url}"
alt="{$product.name}"
title="{$product.name}"
itemprop="image"
>
</a>
</div>
{/if}
</div>
{if $product.images|@count > 1}
<div class="arrows-product-fake slick-arrows">
<button class="slick-prev slick-arrow" aria-label="Previous" type="button" >{l s='Previous' d='Shop.Theme.Catalog'}</button>
<button class="slick-next slick-arrow" aria-label="Next" type="button">{l s='Next' d='Shop.Theme.Catalog'}</button>
</div>
{/if}
{/block}
{/if}
{/block}
{hook h='displayAfterProductThumbs'}
</div>
{/block}
</section>
{/block}
{block name='product_images_modal'}
{include file='catalog/_partials/product-images-modal.tpl'}
{/block}

View File

@@ -0,0 +1,103 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='page_content_container'}
<section class="page-content" id="content">
{block name='page_content'}
<div class="images-container">
{block name='product_cover_thumbnails'}
{if $isMobile && $dmobile_swipe}
<div class="list-images-mobile">
{foreach from=$product.images item=image}
<div>
<img
class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}"
data-image-medium-src="{$image.bySize.medium_default.url}"
data-image-large-src="{$image.bySize.large_default.url}"
src="{$image.bySize.large_default.url}"
alt="{$image.legend}"
title="{$image.legend}"
itemprop="image"
>
</div>
{/foreach}
</div>
{else}
{block name='product_cover'}
<div class="product-cover">
{block name='product_flags'}
<ul class="product-flags">
{foreach from=$product.flags item=flag}
<li class="product-flag {$flag.type}">{$flag.label}</li>
{/foreach}
</ul>
{/block}
{if $product.cover}
<img id="zoom_product" data-type-zoom="" class="js-qv-product-cover img-fluid" src="{$product.cover.bySize.large_default.url}" alt="{$product.cover.legend}" title="{$product.cover.legend}" itemprop="image">
<div class="layer hidden-sm-down" data-toggle="modal" data-target="#product-modal">
<i class="material-icons zoom-in">&#xE8FF;</i>
</div>
{else}
<img id="zoom_product" data-type-zoom="" class="js-qv-product-cover img-fluid" src="{$urls.no_picture_image.bySize.large_default.url}" alt="{$product.name}" title="{$product.name}" itemprop="image">
{/if}
</div>
{/block}
{block name='product_images'}
<div id="thumb-gallery" class="product-thumb-images">
{if $product.cover}
{foreach from=$product.images item=image}
<div class="thumb-container {if $image.id_image == $product.cover.id_image} active {/if}">
<a href="javascript:void(0)" data-image="{$image.bySize.large_default.url}" data-zoom-image="{$image.bySize.large_default.url}">
<img
class="thumb js-thumb {if $image.id_image == $product.cover.id_image} selected {/if}"
data-image-medium-src="{$image.bySize.medium_default.url}"
data-image-large-src="{$image.bySize.large_default.url}"
src="{$image.bySize.home_default.url}"
alt="{$image.legend}"
title="{$image.legend}"
itemprop="image"
>
</a>
</div>
{/foreach}
{else}
<div class="thumb-container">
<a href="javascript:void(0)" data-image="{$urls.no_picture_image.bySize.large_default.url}" data-zoom-image="{$urls.no_picture_image.bySize.large_default.url}">
<img
class="thumb js-thumb img-fluid"
data-image-medium-src="{$urls.no_picture_image.bySize.medium_default.url}"
data-image-large-src="{$urls.no_picture_image.bySize.large_default.url}"
src="{$urls.no_picture_image.bySize.home_default.url}"
alt="{$product.name}"
title="{$product.name}"
itemprop="image"
>
</a>
</div>
{/if}
</div>
{if $product.images|@count > 1}
<div class="arrows-product-fake slick-arrows">
<button class="slick-prev slick-arrow" aria-label="Previous" type="button" >{l s='Previous' d='Shop.Theme.Catalog'}</button>
<button class="slick-next slick-arrow" aria-label="Next" type="button">{l s='Next' d='Shop.Theme.Catalog'}</button>
</div>
{/if}
{/block}
{/if}
{/block}
{hook h='displayAfterProductThumbs'}
</div>
{/block}
</section>
{/block}
{block name='product_images_modal'}
{include file='catalog/_partials/product-images-modal.tpl'}
{/block}

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='product_images_modal'}
{include file='catalog/_partials/product-images-modal.tpl'}
{/block}

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{include file="sub/product_info/accordions.tpl"}

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{include file="sub/product_info/default.tpl"}

View File

@@ -0,0 +1,8 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{include file="sub/product_info/tab.tpl"}

View File

@@ -0,0 +1,10 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
{block name='product_prices'}
{include file='catalog/_partials/product-prices.tpl'}
{/block}