first commit

This commit is contained in:
2024-10-25 23:02:37 +02:00
commit faeb2e52e8
7653 changed files with 1095335 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
<?
global $lang_id;
$hash = md5( time() . rand( 0, 9999999999 ) );
?>
<div class="products-box-<?= $hash;?>">
<div class="swiper">
<div class="swiper-wrapper">
<?
foreach ( $this -> products as $product ):
$product_obj = \shop\Product::getFromCache( (int)$product, $lang_id );
if ( $product_obj -> status ):
echo \Tpl::view( 'shop-product/product-mini', [
'product' => $product_obj,
'class' => 'item',
'product_mini_class' => 'swiper-slide'
] );
endif;
endforeach;
?>
</div>
</div>
<div class="swiper-button-next products-box-<?= $hash;?>-next"></div>
<div class="swiper-button-prev products-box-<?= $hash;?>-prev"></div>
</div>
<script class="footer" type="text/javascript">
$( function()
{
if( $( ".products-box-<?= $hash;?> .swiper").length ) {
const swiper<?= $hash;?> = new Swiper(".products-box-<?= $hash;?> .swiper", {
slidesPerView: 6,
spaceBetween: 30,
initialSlide : 1,
centeredSlides: true,
lazy: true,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
navigation: {
nextEl: ".products-box-<?= $hash;?>-next",
prevEl: ".products-box-<?= $hash;?>-prev",
},
breakpoints: {
1400: {
slidesPerView: 6,
},
1200: {
slidesPerView: 5,
},
991: {
slidesPerView: 4,
},
576: {
slidesPerView: 3,
},
300: {
slidesPerView: 2,
},
200: {
slidesPerView: 1,
}
},
on: {
slideChange: function() {
observer.observe();
}
}
});
}
});
</script>

View File

@@ -0,0 +1,76 @@
<? global $lang_id; ?>
<? if ($this->query) : ?>
<div class="box-title">
<?= \S::lang('wyniki-wyszukiwania-dla-zapytania') . ': <strong>' . $this->query . '</strong>'; ?>
</div>
<? endif; ?>
<?
if ($this->category_additional_text) :
echo \Tpl::view('shop-category/_partials/category-additional-text', [
'category' => $this->category
]);
endif;
?>
<div class="category-content">
<? if (is_array($this->products)) : foreach ($this->products as $product_id) :
$product = new \shop\Product($product_id);
echo \Tpl::view('shop-product/product-mini', [
'product' => new \shop\Product($product_id, $lang_id)
]);
endforeach;
endif; ?>
</div>
<?
if ($this->category_description) :
echo \Tpl::view('shop-category/category-description', [
'category' => $this->category
]);
endif;
?>
<script type="text/javascript" class="footer">
$(document).ready(function() {
let offset = 0;
const limit = 8;
let isLoading = false;
const $categoryContent = $('.category-content');
function loadProducts() {
if (isLoading) {
return;
}
isLoading = true;
$.ajax({
type: 'POST',
cache: false,
url: '/shopProduct/lazy_loading_products',
data: {
offset: offset,
category_id: <?= $this -> category['id'] ?>
},
beforeSend: function() {
},
success: function( response ) {
response = jQuery.parseJSON( response );
if ( response.html.length > 0 ) {
$categoryContent.append( response.html );
offset += limit;
isLoading = false;
} else {
$( document) .off( 'scroll', checkScroll );
}
}
});
}
function checkScroll() {
if( $(window).scrollTop() >= $('.category-content').offset().top + $('.category-content').outerHeight() - window.innerHeight - 250 ) {
loadProducts();
}
}
$( document ).on( 'scroll', checkScroll );
loadProducts();
});
</script>

View File

@@ -0,0 +1,76 @@
<? global $lang_id; ?>
<? if ($this->query) : ?>
<div class="box-title">
<?= \S::lang('wyniki-wyszukiwania-dla-zapytania') . ': <strong>' . $this->query . '</strong>'; ?>
</div>
<? endif; ?>
<?
if ($this->category_additional_text) :
echo \Tpl::view('shop-category/_partials/category-additional-text', [
'category' => $this->category
]);
endif;
?>
<div class="category-content">
<? if (is_array($this->products)) : foreach ($this->products as $product_id) :
$product = new \shop\Product($product_id);
echo \Tpl::view('shop-product/product-mini', [
'product' => new \shop\Product($product_id, $lang_id)
]);
endforeach;
endif; ?>
</div>
<?
if ($this->category_description) :
echo \Tpl::view('shop-category/category-description', [
'category' => $this->category
]);
endif;
?>
<script type="text/javascript" class="footer">
$(document).ready(function() {
let offset = 12;
const limit = 8;
let isLoading = false;
const $categoryContent = $('.category-content');
function loadProducts() {
if (isLoading) {
return;
}
isLoading = true;
$.ajax({
type: 'POST',
cache: false,
url: '/shopProduct/lazy_loading_products',
data: {
offset: offset,
category_id: <?= $this -> category['id'] ?>
},
beforeSend: function() {
},
success: function( response ) {
response = jQuery.parseJSON( response );
if ( response.html.length > 0 ) {
$categoryContent.append( response.html );
offset += limit;
isLoading = false;
} else {
$( document) .off( 'scroll', checkScroll );
}
}
});
}
function checkScroll() {
if( $(window).scrollTop() >= $('.category-content').offset().top + $('.category-content').outerHeight() - window.innerHeight - 250 ) {
loadProducts();
}
}
$( document ).on( 'scroll', checkScroll );
loadProducts();
});
</script>