Skip to main content

Add Infinite Scroll Magento Extension

Answered

Comments

3 comments

  • Official comment
    Zoey

    Hi Waqqas, 

    Please feel free to share this useful tip! We will review it and possibly add it to our Knowledge Base to help others. 

  • Waqqas

    I can provide you jQuery implementation that can do this without any server side changes. Just the javascript library can do it. I have done it on my zoey hosted site already.

    0
  • Waqqas

    Sure. Here it is... 

    1st download and host Infinite AJAX Scroll library on your domain from here 

    http://infiniteajaxscroll.com/jquery-ias.min.js

    and then add Following scripts to your Global JavaScript section using design editor.

     

    This conditional check "window.location.href.toLowerCase().indexOf(".html") >= 0" is there so that it does not run on home page. Its not a bullet proof check though but i couldn't find a way to detect if its a category page or not... May be you could suggest something :)

     

    /*INFINITE SCROLL BY WAQQAS */
    if (window.location.href.toLowerCase().indexOf(".html") >= 0){
    window.ias_config={};
    windowLoadedFlag = false;

    window.SgyIAS = {
    debug: false,
    _log: function(object) {
    if(this.debug) {
    console.log(object);
    }
    },
    init: function(){
    jQuery.getScript("https://your-domain.com/zoey/infinitescroll/jquery-ias.min.js", function() {
    console.log('IAS Script is loaded!!');
    jQuery(function($) {
    var config = {
    item: '.zoey-product-list',
    container : '.category-products',
    next: '.next',
    pagination: '.zoey-toolbar .pager',
    delay: 600,
    negativeMargin: 150,
    history: {
    prev: '.prev'
    },
    noneleft: {
    text: '<em>All Products Loaded. The END!!.</em>',
    html: '<div class="ias-noneleft" style="text-align: center;">{text}</div>'
    },
    spinner: {
    src: 'data:image/gif;base64,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',
    html: '<div class="ias-spinner" style="text-align: center;"><img style="display:inline" src="{src}"/> <em>Loading the next set of items...</em></div>'
    },
    trigger: {
    text: 'Load more items',
    html: '<div class="ias-trigger ias-trigger-next" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
    textPrev: 'Load more items',
    htmlPrev: '<div class="ias-trigger ias-trigger-prev" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
    offset: 200 }
    };

    if (window.ias_config){
    $.extend(config, window.ias_config);
    }

    SgyIAS._log({extension: 'ias', config: config});
    window.ias = $.ias(config);

    SgyIAS._log({extension: 'paging'});
    window.ias.extension(new IASPagingExtension());

    SgyIAS._log({extension: 'spinner'});
    window.ias.extension(new IASSpinnerExtension(config.spinner));

    SgyIAS._log({extension: 'noneleft'});
    window.ias.extension(new IASNoneLeftExtension(config.noneleft));

    SgyIAS._log({extension: 'trigger'});
    window.ias.extension(new IASTriggerExtension(config.trigger));

    SgyIAS._log({extension: 'history'});
    window.ias.extension(new IASHistoryExtension(config.history));

    // debug events
    window.ias.on('scroll', function(scrollOffset, scrollThreshold){
    SgyIAS._log({eventName: 'scroll', scrollOffset: scrollOffset, scrollThreshold: scrollThreshold});
    });
    window.ias.on('load', function(event){
    SgyIAS._log({eventName:'load', event: event});
    });
    window.ias.on('loaded', function(data, items){
    SgyIAS._log({eventName: 'loaded', data: data, items: items});
    });
    window.ias.on('render', function(items){
    SgyIAS._log({eventName: 'render', items: items});
    });
    window.ias.on('rendered', function(items){
    SgyIAS._log({eventName: 'render', items: items});
    });
    window.ias.on('noneLeft', function(){
    SgyIAS._log({eventName: 'noneLeft'});
    });
    window.ias.on('next', function(url){
    SgyIAS._log({eventName: 'next', url: url});
    });
    window.ias.on('ready', function(){
    SgyIAS._log({eventName: 'ready'});
    });

    $('.zoey-toolbar').show();

    if(windowLoadedFlag){
    $(window).load();
    }

    SgyIAS._log('Done loading IAS.');

    });
    });
    }
    };

    SgyIAS.init();
    }
    /*INFINITE SCROLL BY WAQQAS */

    0

Please sign in to leave a comment.