Lazy Load Summaries Block

$55.00

Stop letting Squarespace’s 30-item ceiling choke your best content—Lazy Summaries blows that limit wide open so you can showcase ALL items in a single Summary Block.

The Lazy Summaries (a.k.a. Lazy Load Summary Block) plugin extends the summary block display limit from 30 items to the maximum limit of your products, blog, events and portfolio collection.

Plus you get the option to display portfolio pages, add lightbox for store or blog pages (not just galleries), filter summary items by tags or category, add custom classes for styling and sort your summary block items.

Stop letting Squarespace’s 30-item ceiling choke your best content—Lazy Summaries blows that limit wide open so you can showcase ALL items in a single Summary Block.

The Lazy Summaries (a.k.a. Lazy Load Summary Block) plugin extends the summary block display limit from 30 items to the maximum limit of your products, blog, events and portfolio collection.

Plus you get the option to display portfolio pages, add lightbox for store or blog pages (not just galleries), filter summary items by tags or category, add custom classes for styling and sort your summary block items.

What does Lazy Summary plugin look like on a summary block?

See for yourself. Below is a summary block extended to display 87 items using the Lazy Summary plugin.

Lazy Summary Plugin Demo

What You Need to Know

What else can Lazy Summary do?

1. Sort Items

Sort your summary block items by name, last name, title, author, date, price or even number of likes.

2. Lightboxes

Display your images on lightboxes when clicked.

3. Clickthrough’s

Open your links on a new tab when people click the title so your page stays open.

4. Alter Images

Show an alternate image when people hover your summary block items (only works with products).

5. Size and Spacing

Customize the size and spacing of summary block’s grids and columns.

6. Target Styling

Imagine using different font style, color or size on your summary block items based on their tags and categories.

7. Customize Excerpt

Custom style your excerpt (even add animations) by allowing HTML.

8. Filter Items

Filter summary block items using multiple tags or categories, (or combination of tags and categories) unlike summary block’s default filter option which only lets you pick 1.

Lazy Summary Settings

Lazy Summary Additional Settings

Lazy Summary Sizes & Spacings

Advance Settings

Can you change Load More button styling?

Yes, you can change the Load More button styling with CSS.

For example:

.sqs-block-summary-v2 .loadMoreButton{
    font-family: 'Arial';
    font-size: 24px;  
    color: white; 
    background-color: black;
    border: 1px solid white;
}

We’re using the CSS pseudo element :after to display the items count. If you use this CSS selector, you can customize or hide the count.

For example:

.sqs-block-summary-v2 .loadMoreButton:after {
    content: "("attr(data-items-left)")";/*attr data-items-left refreshing each time you click*/
    font-size: 24px;  /*change font size to 24px*/
}

Can you customize how Lazy Summaries works?

Yes, Lazy Summaries plugin has a hooks system you can use for your own coding. This lets you seamlessly integrate your custom code to the Lazy Summaries code.

Here’s the list of the available hooks you can use:

<script>
window.customLazySummaries = {
    general: { //runs for all summary blocks
        startFunction: function(sum_block, jsonData) {
            //runs just when summary started, you do not need return smth

        },
        startRenderFunction: function(sum_block, jsonData) {
            //runs just when summary started/sorted and before request new items

        },
        startItemsFunction: function(item, jsonData) {
            //runs for each existed(start) summary item
        },
        transformExternalDataFunction: function(data, jsonData) {
            //collections json received and you may transform idata there
            //need return transformed data json, jsonData is summary config object

        },
        jsonTransformFunction: function(items, jsonData) {
            //collections json received and you may transform items json there
            //need return transformed items json, jsonData is summary config object

        },
        renderItemDataFunction: function(item, jsonData) {
            //you may do transformation on rendered summary-item node and return it,
            // it also runs for existing summary items

        },
        afterRenderItemFunction: function(item, jsonData) {
            //you may do transformation on rendered summary-item node and return it,
            // it also runs for existing summary items

        },
        allItemsRenderedFunction: function(new_items, jsonData) {
            //access all new loaded items there, you may transform and return them
        },
        portionItemsAddedFunction: function(sum_block, jsonData) {
            //runs after portion of items appended to summary block
        },
        allItemsAddedFunction: function(sum_block, jsonData) {
            //runs after all of loaded items appended to summary block
        },
        refreshFunction: function(sum_block, jsonData) {
            //runs after refresh summary block (appending items, sorting..)
        }
    },
    separate: [ //run for separate summaries, based on id attribute
        {
            id: 'block-yui_3_17_2_1_1579508745168_4942',
            startFunction: function(sum_block, jsonData) {
                console.log(sum_block);
            },
            //set summary ids there
            afterRenderItemFunction: function(item, jsonData) {
                console.log(item);

            }
        }
    ],
    related: [{//used to build Related Summaries
        container: '.collection-type-blog',
        //remoteSummary: '/remote-summary',
        placeTo: '.Main-content',
        summarySettings: {
            design: "autogrid",
            imageAspectRatio: 1,
            hideLoadMore: true,
            textSize: "small",
            metadataPosition: "above-title",
            primaryMetadata: "cats",
            secondaryMetadata: "none"
        },
        filter: {
            tag: true,
            category: false,
            featured: false
        }
    }]
};
</script>

Frequently Asked Questions