This commit is contained in:
2025-03-05 09:26:04 +01:00
parent 5cf0717170
commit d7bba13cdf
5028 changed files with 286142 additions and 0 deletions

View File

@@ -0,0 +1,179 @@
{*
* @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_accordion'}
<div class="products-accordion" id="accordion" role="tablist" aria-multiselectable="true">
{* Description Product Detail *}
<div class="card" id="description">
<div class="card-header" role="tab" id="headingdescription">
<h5 class="h5">
<a data-toggle="collapse" data-parent="#accordion" href="#collapsedescription" aria-expanded="true" aria-controls="collapsedescription">
{l s='Description' d='Shop.Theme.Catalog'}
</a>
</h5>
</div>
<div id="collapsedescription" class="collapse in" role="tabpanel" aria-labelledby="headingdescription">
<div class="card-block">
{block name='product_description'}
<div class="product-description">{$product.description nofilter}</div>
{/block}
</div>
</div>
</div>
{* Product Detail *}
<div class="card" id="product-detail">
<div class="card-header" role="tab" id="headingdetails">
<h5 class="h5">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapsedetails" aria-expanded="false" aria-controls="collapsedetails">
{l s='Product Details' d='Shop.Theme.Catalog'}
</a>
</h5>
</div>
<div id="collapsedetails" class="collapse" role="tabpanel" aria-labelledby="headingdetails">
<div class="card-block">
<div data-product="{$product|json_encode}">
{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-thumbnail manufacturer-logo" />
</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)}
<div class="product-reference">
<label class="label">{l s='Reference' d='Shop.Theme.Catalog'} </label>
<span itemprop="sku">{$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>{$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.features}
<section class="product-features">
<h3 class="h6">{l s='Data sheet' d='Shop.Theme.Catalog'}</h3>
<dl class="data-sheet">
{foreach from=$product.features item=feature}
<dt class="name">{$feature.name}</dt>
<dd class="value">{$feature.value}</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 isset($product.specific_references)}
<section class="product-features">
<h3 class="h6">{l s='Specific References' d='Shop.Theme.Catalog'}</h3>
<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}
</div>
</div>
</div>
</div>
<div id="leofeature-product-review" class="card">
<div class="card-header" role="tab" id="headingdetails">
<h5 class="h5">
<a class="collapsed leo-product-show-review-title leofeature-accordion" data-toggle="collapse" data-parent="#accordion" href="#collapsereviews" aria-expanded="false" aria-controls="collapsereviews">
{l s='Reviews' d='Shop.Theme.Catalog'}
</a>
</h5>
</div>
<div id="collapsereviews" class="collapse" role="tabpanel" aria-labelledby="headingdetails">
<div class="card-block">
{hook h='displayLeoProductTabContent' product=$product}
</div>
</div>
</div>
{* Attachments Product Detail *}
{block name='product_attachments'}
{if $product.attachments}
<div class="card" id="attachments">
<div class="card-header" role="tab" id="headingattachments">
<h5 class="h5">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseattachments" aria-expanded="false" aria-controls="collapseattachments">
{l s='Attachments' d='Shop.Theme.Catalog'}
</a>
</h5>
</div>
<div id="collapseattachments" class="collapse" role="tabpanel" aria-labelledby="headingattachments">
<div class="card-block">
<div class="attachments">
<section class="product-attachments">
<h3 class="h5 text-uppercase">{l s='Download' d='Shop.Theme.Actions'}</h3>
{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>
</div>
</div>
</div>
{/if}
{/block}
{* Extra Product *}
{foreach from=$product.extraContent item=extra key=extraKey}
<div class="card" id="extra-{$extraKey}">
<div class="card-header" role="tab" id="headingextra-{$extraKey}">
<h5 class="h5">
<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseextra-{$extraKey}" aria-expanded="false" aria-controls="collapseextra-{$extraKey}">
{$extra.title}
</a>
</h5>
</div>
<div id="collapseextra-{$extraKey}" class="collapse" role="tabpanel" aria-labelledby="headingextra-{$extraKey}">
<div class="card-block">
<div class="{$extra.attr.class}" id="extra-content-{$extraKey}" {foreach $extra.attr as $key => $val} {$key}="{$val}"{/foreach}>
{$extra.content nofilter}
</div>
</div>
</div>
</div>
{/foreach}
</div>
{/block}

View File

@@ -0,0 +1,197 @@
{*
* @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_default'}
<div class="tabs tabs-product" id="tabs">
<ul class="tabs-nav">
<li data-tab="tabs-1" class="active">Opis</li>
<li data-tab="tabs-2">Dane techniczne</li>
<li data-tab="tabs-3">Bezpieczeństwo produktu (GPSR)</li>
<li data-tab="tabs-4">Opinie o produkcie</li>
</ul>
<div class="tabs-content">
<div id="tabs-1" class="active">
<div id="description">
{block name='product_description'}
<div class="product-description">{$product.description nofilter}</div>
{/block}
{foreach $product.features as $feature}
{if $feature.name == 'Sposób pakowania' && $feature.value == 'Rolowany'}
<div class="description-movie">
<h2 class="">ZASTANAWIASZ SIĘ W JAKI SPOSÓB BEZPIECZNIE ROZPAKOWAĆ MATERAC ROLOWANY?<br>ODPOWIEDŹ ZNAJDZIESZ W PONIŻSZYM FILMIE INSTRUKTAŻOWYM:</h2>
<iframe width="560" height="315" src="https://www.youtube.com/embed/tqJsvfRpGas?si=otA3fGP8G1clepq2" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div>
{/if}
{/foreach}
</div>
</div>
<div id="tabs-2">
{block name='product_features'}
{if $product.features}
<section class="product-features">
<h3 class="h6">{l s='Data sheet' d='Shop.Theme.Catalog'}</h3>
<dl class="data-sheet">
{foreach from=$product.features item=feature}
<dt class="name">{$feature.name}</dt>
<dd class="value">{$feature.value}</dd>
{/foreach}
</dl>
</section>
{/if}
{/block}
</div>
<div id="tabs-3">
<div id="product-extra">
{foreach from=$product.extraContent item=extra key=extraKey}
<div class="{$extra.attr.class}" id="extra-{$extraKey}" {foreach $extra.attr as $key => $val} {$key}="{$val}"{/foreach}>
{$extra.content nofilter}
</div>
{/foreach}
</div>
</div>
<div id="tabs-4">
<div id="leofeature-product-review">
<div id="widget-container" class="data-ekomi-emp ekomi-widget-container ekomi-widget-sf1479766153088fcd9c2"></div>
<div id="ekomi-product-widget-identifier" class="prod-data-emp" style="visibility: hidden">{$product.id_product}</div>
<a href="https://www.ekomi-pl.com/opinie-drmaterac.html" target="_blank"><img alt="drmaterac.pl Reviews with ekomi-pl.com" src="https://smart-widget-assets.ekomiapps.de/resources/ekomi_logo.png" style="display: none;"/></a>
{literal}
<script type="text/javascript">
function registerWidget (w, token) {
w['_ekomiWidgetsServerUrl'] = 'https://widgets.ekomi.com';
w['_customerId'] = 147976;
w['_language'] = new Array();w['_language'][token] = 'auto';
if(typeof(w['_ekomiWidgetTokens']) !== 'undefined'){
w['_ekomiWidgetTokens'][w['_ekomiWidgetTokens'].length] = token;
} else {
w['_ekomiWidgetTokens'] = new Array(token);
}
if(typeof(ekomiWidgetJs) == 'undefined') {
ekomiWidgetJs = true;
var scr = document.createElement('script');scr.src = 'https://sw-assets.ekomiapps.de/static_resources/widget.js';
var head = document.getElementsByTagName('head')[0];head.appendChild(scr);
}
return true;
}
(function (w) {
var token = 'sf1479766153088fcd9c2';
var k = document.getElementsByClassName("ekomi-widget-" + token);
for(var x=0;x<k.length;x++){ registerWidget(w,token); }
})(window);
</script>
{/literal}
</div>
</div>
</div>
</div>
{literal}
<script>
document.addEventListener("DOMContentLoaded", function () {
const tabs = document.querySelector("#tabs");
const navItems = tabs.querySelectorAll(".tabs-nav li");
const contentItems = tabs.querySelectorAll(".tabs-content > div");
navItems.forEach((navItem) => {
navItem.addEventListener("click", function () {
// Remove active class from all nav items and content
navItems.forEach((item) => item.classList.remove("active"));
contentItems.forEach((content) => content.classList.remove("active"));
// Add active class to clicked nav item and corresponding content
navItem.classList.add("active");
const tabId = navItem.getAttribute("data-tab");
const content = tabs.querySelector(`#${tabId}`);
if (content) content.classList.add("active");
});
});
});
</script>
{/literal}
<div class="more-info-product">
<div id="product-details" data-product="{$product|json_encode}">
{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-thumbnail manufacturer-logo" />
</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)}
<div class="product-reference">
<label class="label">{l s='Reference' d='Shop.Theme.Catalog'} </label>
<span itemprop="sku">{$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>{$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} -->
{* if product have specific references, a table will be added to product details section *}
<!-- {block name='product_specific_references'}
{if isset($product.specific_references)}
<section class="product-features">
<h3 class="h6">{l s='Specific References' d='Shop.Theme.Catalog'}</h3>
<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} -->
</div>
{* Attachments Product Detail *}
{if $product.attachments}
<div id="attachments">
<h4 class="title-info-product">{l s='Attachments' d='Shop.Theme.Catalog'}</h4>
{block name='product_attachments'}
<section class="product-attachments">
<h3 class="h5 text-uppercase">{l s='Download' d='Shop.Theme.Actions'}</h3>
{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>
{/block}
</div>
{/if}
{* Attachments Product Detail *}
</div>
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 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/osl-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 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 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,91 @@
{*
* @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_tabs'}
<div class="product-tabs tabs">
<ul class="nav nav-tabs" role="tablist">
{if $product.description}
<li class="nav-item">
<a
class="nav-link{if $product.description} 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{/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}
{hook h='displayLeoProductTab' product=$product}
</ul>
<div class="tab-content" id="tab-content">
<div class="tab-pane{if $product.description} 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" id="attachments" role="tabpanel">
<section class="product-attachments">
<h3 class="h5 text-uppercase">{l s='Download' d='Shop.Theme.Actions'}</h3>
{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}
{hook h='displayLeoProductTabContent' product=$product}
{foreach from=$product.extraContent item=extra key=extraKey}
<div class="tab-pane {$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}