Hi,
Sorry for not coming back to you since the end of last week.
The beginning of the week was quite intense for me and I didn't had the time to look into it.
I was actually going to look into the issue today, but indeed, as you're saying, it's working fine today, without me doing anything since last week.
So I'm feeling the issue being solved might mean that the issue is actually linked to caching.
The changes I made last week were to make sure the javascript for the infinite scroll mechanism properly takes into account the URL with the new value of the filters.
The changes are actually quite important in the product / listing_div view file.
I changed this code:
if($infinite_scroll && empty($this->tmpl_ajax) && $this->pageInfo->elements->page > 1) {
// @TODO
// display of the block for the automatic update.
// addition of the javascript
global $Itemid;
$filters_params = '';
if(!empty($this->filters)){
$reseted = hikaInput::get()->getVar('reseted');
foreach($this->filters as $uniqueFitler){
$name = 'filter_'.$uniqueFitler->filter_namekey;
$value = hikaInput::get()->getVar($name);
if(is_array($value))
$value = implode('::', $value);
if($reseted)
$value = '';
$filters_params .= '&'.$name . '=' . $value;
$name .= '_values';
$value = hikaInput::get()->getVar($name);
if($reseted)
continue;
if(is_array($value))
$value = implode('::', $value);
if(empty($value))
continue;
$filters_params .= '&'.$name . '=' . $value;
}
}
$cid = '';
if($this->categoryFromURL)
$cid = '&cid='.(int)(is_array($this->pageInfo->filter->cid) ? reset($this->pageInfo->filter->cid) : $this->pageInfo->filter->cid);
?>
<div class="hikashop_infinite_scroll" id="<?php echo $mainDivName; ?>_infinite_scroll">
<a href="#" onclick="return window.localPage.infiniteScroll('<?php echo $mainDivName; ?>');">
<span><?php echo JText::_('HIKA_LOAD_MORE'); ?></span>
</a>
</div>
<script type="text/javascript">
if(!window.localPage) window.localPage = {};
window.localPage.infiniteScrollEvents = {};
window.localPage.infiniteScrollPage = 1;
window.localPage.infiniteScroll = function(container_name) {
if(window.localPage.infiniteScrollPage <= 0)
return false;
var w = window, d = document, o = w.Oby,
container = d.getElementById(container_name + '_infinite_scroll');
if(!container)
return false;
if(container.loading)
return false;
container.loading = true;
o.addClass(container, 'loading');
var url = '<?php echo HIKASHOP_LIVE; ?>index.php?option=com_hikashop&ctrl=product&task=listing<?php echo $cid; ?>&limitstart=HIKAPAGE<?php echo $filters_params; ?>&Itemid=<?php echo (int)$Itemid; ?>&tmpl=<?php echo (HIKASHOP_J30 ? 'raw' : 'component'); ?>';
url = url.replace(/HIKAPAGE/g, <?php echo (int)$this->pageInfo->limit->value; ?> * window.localPage.infiniteScrollPage);
to this:
if($infinite_scroll && $this->pageInfo->elements->page > 1) {
// @TODO
// display of the block for the automatic update.
// addition of the javascript
global $Itemid;
$filters_params = '';
if(!empty($this->filters)){
$reseted = hikaInput::get()->getVar('reseted');
foreach($this->filters as $uniqueFitler){
$name = 'filter_'.$uniqueFitler->filter_namekey;
$value = hikaInput::get()->getVar($name, null);
if(is_null($value) || (is_string($value) && !strlen($value))) {
$cid = hikaInput::get()->getInt("cid",'itemid_'.hikaInput::get()->getInt("Itemid",0));
$value = $app->getUserState('com_hikashop.'.$cid.'_filter_'.$uniqueFitler->filter_namekey, '');
}
if(is_array($value))
$value = implode('::', $value);
if($reseted)
$value = '';
$filters_params .= '&'.$name . '=' . $value;
$name .= '_values';
$value = hikaInput::get()->getVar($name, null);
if(is_null($value) || (is_string($value) && !strlen($value))) {
$cid = hikaInput::get()->getInt("cid",'itemid_'.hikaInput::get()->getInt("Itemid",0));
$value = $app->getUserState('com_hikashop.'.$cid.'_filter_'.$uniqueFitler->filter_namekey.'_values', '');
}
if($reseted)
continue;
if(is_array($value))
$value = implode('::', $value);
if(empty($value))
continue;
$filters_params .= '&'.$name . '=' . $value;
}
}
$cid = '';
if($this->categoryFromURL)
$cid = '&cid='.(int)(is_array($this->pageInfo->filter->cid) ? reset($this->pageInfo->filter->cid) : $this->pageInfo->filter->cid);
if(!empty($this->tmpl_ajax)) {
?>
<script type="text/javascript">
window.localPage.infiniteScrollUrl = '<?php echo HIKASHOP_LIVE; ?>index.php?option=com_hikashop&ctrl=product&task=listing<?php echo $cid; ?>&limitstart=HIKAPAGE<?php echo $filters_params; ?>&Itemid=<?php echo (int)$Itemid; ?>&tmpl=<?php echo (HIKASHOP_J30 ? 'raw' : 'component'); ?>';
</script>
<?php
}
}
if($infinite_scroll && empty($this->tmpl_ajax) && $this->pageInfo->elements->page > 1) {
?>
<div class="hikashop_infinite_scroll" id="<?php echo $mainDivName; ?>_infinite_scroll">
<a href="#" onclick="return window.localPage.infiniteScroll('<?php echo $mainDivName; ?>');">
<span><?php echo JText::_('HIKA_LOAD_MORE'); ?></span>
</a>
</div>
<script type="text/javascript">
if(!window.localPage) window.localPage = {};
window.localPage.infiniteScrollEvents = {};
window.localPage.infiniteScrollPage = 1;
window.localPage.infiniteScrollUrl = '<?php echo HIKASHOP_LIVE; ?>index.php?option=com_hikashop&ctrl=product&task=listing<?php echo $cid; ?>&limitstart=HIKAPAGE<?php echo $filters_params; ?>&Itemid=<?php echo (int)$Itemid; ?>&tmpl=<?php echo (HIKASHOP_J30 ? 'raw' : 'component'); ?>';
window.localPage.infiniteScroll = function(container_name) {
if(window.localPage.infiniteScrollPage <= 0)
return false;
var w = window, d = document, o = w.Oby,
container = d.getElementById(container_name + '_infinite_scroll');
if(!container)
return false;
if(container.loading)
return false;
container.loading = true;
o.addClass(container, 'loading');
var url = window.localPage.infiniteScrollUrl.replace(/HIKAPAGE/g, <?php echo (int)$this->pageInfo->limit->value; ?> * window.localPage.infiniteScrollPage);
So try to reactivate the caching and see if you have the problem or not after that. If you do, then it will mean it's definitely linked to the caching.