Refactor category.php template and improve code readability

This commit is contained in:
2024-10-29 21:53:29 +01:00
parent 41522fa2a6
commit 9e05750801
4 changed files with 27 additions and 67 deletions

View File

@@ -1,76 +1,36 @@
<? global $lang_id; ?>
<? if ($this->query) : ?>
<? global $lang_id;?>
<? if ( $this -> query ):?>
<div class="box-title">
<?= \S::lang('wyniki-wyszukiwania-dla-zapytania') . ': <strong>' . $this->query . '</strong>'; ?>
<?= \S::lang( 'wyniki-wyszukiwania-dla-zapytania' ) . ': <strong>' . $this -> query . '</strong>';?>
</div>
<? endif; ?>
<? endif;?>
<?
if ($this->category_additional_text) :
echo \Tpl::view('shop-category/_partials/category-additional-text', [
'category' => $this->category
]);
if ( $this -> category_additional_text ):
echo \Tpl::view( 'shop-category/_partials/category-additional-text', [
'category' => $this -> category
] );
endif;
?>
<?php
if ( $this -> category['view_subcategories'] ):
echo \Tpl::view( 'shop-category/_partials/category-subcategory-tiles', [
'categories' => \shop\Category::get_subcategory_by_category( $this -> category['id'] ),
] );
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; ?>
<? if ( is_array( $this -> products ) ): foreach ( $this -> products as $product_id ):
$product = \shop\Product::getFromCache( $product_id, $lang_id );
echo \Tpl::view( 'shop-product/product-mini', [
'product' => $product
] );
endforeach; endif;?>
</div>
<?= $this -> pager;?>
<?
if ($this->category_description) :
echo \Tpl::view('shop-category/category-description', [
'category' => $this->category
]);
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>
?>