Refactor category.php template and improve code readability
This commit is contained in:
@@ -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>
|
||||
?>
|
||||
Reference in New Issue
Block a user