Hello,
I have an error on all of my products it says
“Liquid error (section/main-collection-product-grid.liquid line 80): Could not find asset snippets/card-product.liquid”
im unsure of how to fix it or what I might’ve done.
help!
Issue: Product pages showed “Liquid error (section/main-collection-product-grid.liquid line 80): Could not find asset snippets/card-product.liquid.” Liquid is Shopify’s templating language; a snippet is a reusable template file.
Root cause: The section referenced a non‑existent snippet name. The theme expected “product-card.liquid,” not “card-product.liquid.”
Fix implemented: Updating the include/render reference from “card-product” to “product-card” in Sections/main-collection-product-grid.liquid resolved the error. The original poster confirmed the issue was fixed.
Guidance shared:
Current status: Resolved for the original poster. A later participant has a similar issue but only sees collection.liquid (not main-collection-product-grid.liquid), suggesting a different theme structure; they requested code review.
Open items: For themes lacking that section file, search the codebase for any “card-product” references and correct them, or seek a theme-specific review to locate the correct template/snippet include.
Hello,
I have an error on all of my products it says
“Liquid error (section/main-collection-product-grid.liquid line 80): Could not find asset snippets/card-product.liquid”
im unsure of how to fix it or what I might’ve done.
help!
Hi @Briasena06 ,
Did you add a code? It would be best if you can copy the code here so we can take a look
Ok one second
{%- if settings.favicon != blank -%}
{%- endif -%}{%- unless settings.type_header_font.system? and settings.type_body_font.system? -%}
{%- endunless -%} {{ page_title }} {%- if current_tags %} – tagged "{{ current_tags | join: ', ' }}"{% endif -%} {%- if current_page != 1 %} – Page {{ current_page }}{% endif -%} {%- unless page_title contains shop.name %} – {{ shop.name }}{% endunless -%}{% if page_description %}
{% endif %}
{% render ‘meta-tags’ %}
{% include ‘globo.filter.script’ %}{{ content_for_header }}
{%- liquid
assign body_font_bold = settings.type_body_font | font_modify: ‘weight’, ‘bold’
assign body_font_italic = settings.type_body_font | font_modify: ‘style’, ‘italic’
assign body_font_bold_italic = body_font_bold | font_modify: ‘style’, ‘italic’
%}
{% style %}
{{ settings.type_body_font | font_face: font_display: ‘swap’ }}
{{ body_font_bold | font_face: font_display: ‘swap’ }}
{{ body_font_italic | font_face: font_display: ‘swap’ }}
{{ body_font_bold_italic | font_face: font_display: ‘swap’ }}
{{ settings.type_header_font | font_face: font_display: ‘swap’ }}
:root {
–font-body-family: {{ settings.type_body_font.family }}, {{ settings.type_body_font.fallback_families }};
–font-body-style: {{ settings.type_body_font.style }};
–font-body-weight: {{ settings.type_body_font.weight }};
–font-heading-family: {{ settings.type_header_font.family }}, {{ settings.type_header_font.fallback_families }};
–font-heading-style: {{ settings.type_header_font.style }};
–font-heading-weight: {{ settings.type_header_font.weight }};
–font-body-scale: {{ settings.body_scale | divided_by: 100.0 }};
–font-heading-scale: {{ settings.heading_scale | times: 1.0 | divided_by: settings.body_scale }};
–color-base-text: {{ settings.colors_text.red }}, {{ settings.colors_text.green }}, {{ settings.colors_text.blue }};
–color-base-background-1: {{ settings.colors_background_1.red }}, {{ settings.colors_background_1.green }}, {{ settings.colors_background_1.blue }};
–color-base-background-2: {{ settings.colors_background_2.red }}, {{ settings.colors_background_2.green }}, {{ settings.colors_background_2.blue }};
–color-base-solid-button-labels: {{ settings.colors_solid_button_labels.red }}, {{ settings.colors_solid_button_labels.green }}, {{ settings.colors_solid_button_labels.blue }};
–color-base-outline-button-labels: {{ settings.colors_outline_button_labels.red }}, {{ settings.colors_outline_button_labels.green }}, {{ settings.colors_outline_button_labels.blue }};
–color-base-accent-1: {{ settings.colors_accent_1.red }}, {{ settings.colors_accent_1.green }}, {{ settings.colors_accent_1.blue }};
–color-base-accent-2: {{ settings.colors_accent_2.red }}, {{ settings.colors_accent_2.green }}, {{ settings.colors_accent_2.blue }};
–payment-terms-background-color: {{ settings.colors_background_1 }};
–gradient-base-background-1: {% if settings.gradient_background_1 != blank %}{{ settings.gradient_background_1 }}{% else %}{{ settings.colors_background_1 }}{% endif %};
–gradient-base-background-2: {% if settings.gradient_background_2 != blank %}{{ settings.gradient_background_2 }}{% else %}{{ settings.colors_background_2 }}{% endif %};
–gradient-base-accent-1: {% if settings.gradient_accent_1 != blank %}{{ settings.gradient_accent_1 }}{% else %}{{ settings.colors_accent_1 }}{% endif %};
–gradient-base-accent-2: {% if settings.gradient_accent_2 != blank %}{{ settings.gradient_accent_2 }}{% else %}{{ settings.colors_accent_2 }}{% endif %};
–page-width: {{ settings.page_width | divided_by: 10 }}rem;
–page-width-margin: {% if settings.page_width == ‘1600’ %}2{% else %}0{% endif %}rem;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
html {
box-sizing: border-box;
font-size: calc(var(–font-body-scale) * 62.5%);
height: 100%;
}
body {
display: grid;
grid-template-rows: auto auto 1fr auto;
grid-template-columns: 100%;
min-height: 100%;
margin: 0;
font-size: 1.5rem;
letter-spacing: 0.06rem;
line-height: calc(1 + 0.8 / var(–font-body-scale));
font-family: var(–font-body-family);
font-style: var(–font-body-style);
font-weight: var(–font-body-weight);
}
@media screen and (min-width: 750px) {
body {
font-size: 1.6rem;
}
}
{% endstyle %}
{{ ‘base.css’ | asset_url | stylesheet_tag }}
{%- unless settings.type_body_font.system? -%}
{%- endunless -%} {%- unless settings.type_header_font.system? -%} {%- endunless -%}{%- if settings.predictive_search_enabled -%}
{%- endif -%}{% render ‘qikify-apps’ %}
{{ "accessibility.skip_to_text" | t }}{% section ‘announcement-bar’ %}
{% section ‘header’ %}
{% section ‘footer’ %}
{%- if settings.predictive_search_enabled -%}
{%- endif -%}
{% include ‘globo.filter.action’ %}
@Briasena06 Thank you. Sorry I wasn’t clear. I mean the code in the code in main-product.liquid under Section folde
I replied with the code below, can you see it? I hit reply on my own message by accident.
Sorry this is all new to me.
{% comment %}theme-check-disable TemplateLength{% endcomment %}
{{ ‘section-main-product.css’ | asset_url | stylesheet_tag }}
{{ ‘component-accordion.css’ | asset_url | stylesheet_tag }}
{{ ‘component-price.css’ | asset_url | stylesheet_tag }}
{{ ‘component-rte.css’ | asset_url | stylesheet_tag }}
{{ ‘component-slider.css’ | asset_url | stylesheet_tag }}
{{ ‘component-rating.css’ | asset_url | stylesheet_tag }}
{{ ‘component-loading-overlay.css’ | asset_url | stylesheet_tag }}
{%- assign first_3d_model = product.media | where: “media_type”, “model” | first -%}
{%- if first_3d_model -%}
{{ ‘component-product-model.css’ | asset_url | stylesheet_tag }}
if section.settings.media_size == ‘large’
assign media_width = 0.65
elsif section.settings.media_size == ‘medium’
assign media_width = 0.55
elsif section.settings.media_size == ‘small’
assign media_width = 0.45
endif
-%}
{%- if product.selected_or_first_available_variant.featured_media != null -%}
{%- assign featured_media = product.selected_or_first_available_variant.featured_media -%}
{%- for block in section.blocks -%}
{%- case block.type -%}
{%- when ‘@app’ -%}
{% render block %}
{%- when ‘text’ -%}
{{- block.settings.text -}}
{%- when 'title' -%}{%- form ‘product’, product, id: product_form_id, class: ‘form’, novalidate: ‘novalidate’, data-type: ‘add-to-cart-form’ -%}
{{ ‘component-pickup-availability.css’ | asset_url | stylesheet_tag }}
{%- assign pick_up_availabilities = product.selected_or_first_available_variant.store_availabilities | where: ‘pick_up_enabled’, true -%}
<pickup-availability class=“product__pickup-availabilities no-js-hidden”
{% if product.selected_or_first_available_variant.available and pick_up_availabilities.size > 0 %} available{% endif %}
data-root-url=“{{ routes.root_url }}”
data-variant-id=“{{ product.selected_or_first_available_variant.id }}”
data-has-only-default-variant=“{{ product.has_only_default_variant }}”
{{ 'products.product.pickup_availability.unavailable' | t }}
{{ 'products.product.pickup_availability.refresh' | t }}{%- when ‘rating’ -%}
{%- if product.metafields.reviews.rating.value != blank -%}
{% liquid
assign rating_decimal = 0
assign decimal = product.metafields.reviews.rating.value.rating | modulo: 1
if decimal >= 0.3 and decimal <= 0.7
assign rating_decimal = 0.5
elsif decimal > 0.7
assign rating_decimal = 1
endif
%}
{{ product.metafields.reviews.rating.value }} / {{ product.metafields.reviews.rating.value.scale_max }}
({{ product.metafields.reviews.rating_count }}) {{ product.metafields.reviews.rating_count }} {{ "accessibility.total_reviews" | t }}
{%- endif -%} {%- endcase -%} {%- endfor -%}{%- for media in product.media -%}
{%- liquid
if section.settings.hide_variants and variant_images contains media.src
assign variant_image = true
else
assign variant_image = false
endif
unless media.id == product.selected_or_first_available_variant.featured_media.id
render ‘product-media’, media: media, loop: section.settings.enable_video_looping, variant_image: variant_image
endunless
-%}
{%- endfor -%}
{% assign popups = section.blocks | where: “type”, “popup” %}
{%- for block in popups -%}
<modal-dialog id=“PopupModal-{{ block.id }}” class=“product-popup-modal” {{ block.shopify_attributes }}>
{% javascript %}
class ProductModal extends ModalDialog {
constructor() {
super();
}
hide() {
super.hide();
}
show(opener) {
super.show(opener);
this.showActiveMedia();
}
showActiveMedia() {
this.querySelectorAll([data-media-id]:not([data-media-id="${this.openedBy.getAttribute("data-media-id")}"])).forEach((element) => {
element.classList.remove(‘active’);
}
)
const activeMedia = this.querySelector([data-media-id="${this.openedBy.getAttribute("data-media-id")}"]);
const activeMediaTemplate = activeMedia.querySelector(‘template’);
const activeMediaContent = activeMediaTemplate ? activeMediaTemplate.content : null;
activeMedia.classList.add(‘active’);
activeMedia.scrollIntoView();
const container = this.querySelector(‘[role=“document”]’);
container.scrollLeft = (activeMedia.width - container.clientWidth) / 2;
if (activeMedia.nodeName == ‘DEFERRED-MEDIA’ && activeMediaContent && activeMediaContent.querySelector(‘.js-youtube’))
activeMedia.loadContent();
}
}
customElements.define(‘product-modal’, ProductModal);
{% endjavascript %}
{% if product.media.size > 0 %}
{% endif %}
{%- if first_3d_model -%}
{%- endif -%}
{%- liquid
if product.selected_or_first_available_variant.featured_media
assign seo_media = product.selected_or_first_available_variant.featured_media
else
assign seo_media = product.featured_media
endif
-%}
{% schema %}
{
“name”: “t:sections.main-product.name”,
“tag”: “section”,
“class”: “product-section spaced-section”,
“blocks”: [
{
“type”: “@app”
},
{
“type”: “text”,
“name”: “t:sections.main-product.blocks.text.name”,
“settings”: [
{
“type”: “text”,
“id”: “text”,
“default”: “Text block”,
“label”: “t:sections.main-product.blocks.text.settings.text.label”
},
{
“type”: “select”,
“id”: “text_style”,
“options”: [
{
“value”: “body”,
“label”: “t:sections.main-product.blocks.text.settings.text_style.options__1.label”
},
{
“value”: “subtitle”,
“label”: “t:sections.main-product.blocks.text.settings.text_style.options__2.label”
},
{
“value”: “uppercase”,
“label”: “t:sections.main-product.blocks.text.settings.text_style.options__3.label”
}
],
“default”: “body”,
“label”: “t:sections.main-product.blocks.text.settings.text_style.label”
}
]
},
{
“type”: “title”,
“name”: “t:sections.main-product.blocks.title.name”,
“limit”: 1
},
{
“type”: “price”,
“name”: “t:sections.main-product.blocks.price.name”,
“limit”: 1
},
{
“type”: “quantity_selector”,
“name”: “t:sections.main-product.blocks.quantity_selector.name”,
“limit”: 1
},
{
“type”: “variant_picker”,
“name”: “t:sections.main-product.blocks.variant_picker.name”,
“limit”: 1,
“settings”: [
{
“type”: “select”,
“id”: “picker_type”,
“options”: [
{
“value”: “dropdown”,
“label”: “t:sections.main-product.blocks.variant_picker.settings.picker_type.options__1.label”
},
{
“value”: “button”,
“label”: “t:sections.main-product.blocks.variant_picker.settings.picker_type.options__2.label”
}
],
“default”: “button”,
“label”: “t:sections.main-product.blocks.variant_picker.settings.picker_type.label”
}
]
},
{
“type”: “buy_buttons”,
“name”: “t:sections.main-product.blocks.buy_buttons.name”,
“limit”: 1,
“settings”: [
{
“type”: “checkbox”,
“id”: “show_dynamic_checkout”,
“default”: true,
“label”: “t:sections.main-product.blocks.buy_buttons.settings.show_dynamic_checkout.label”,
“info”: “t:sections.main-product.blocks.buy_buttons.settings.show_dynamic_checkout.info”
}
]
},
{
“type”: “description”,
“name”: “t:sections.main-product.blocks.description.name”,
“limit”: 1
},
{
“type”: “share”,
“name”: “t:sections.main-product.blocks.share.name”,
“limit”: 1,
“settings”: [
{
“type”: “text”,
“id”: “share_label”,
“label”: “t:sections.main-product.blocks.share.settings.text.label”,
“default”: “Share”
},
{
“type”: “paragraph”,
“content”: “t:sections.main-product.blocks.share.settings.featured_image_info.content”
},
{
“type”: “paragraph”,
“content”: “t:sections.main-product.blocks.share.settings.title_info.content”
}
]
},
{
“type”: “custom_liquid”,
“name”: “t:sections.main-product.blocks.custom_liquid.name”,
“settings”: [
{
“type”: “liquid”,
“id”: “custom_liquid”,
“label”: “t:sections.main-product.blocks.custom_liquid.settings.custom_liquid.label”,
“info”: “t:sections.main-product.blocks.custom_liquid.settings.custom_liquid.info”
}
]
},
{
“type”: “collapsible_tab”,
“name”: “t:sections.main-product.blocks.collapsible_tab.name”,
“settings”: [
{
“type”: “text”,
“id”: “heading”,
“default”: “Collapsible tab”,
“info”: “t:sections.main-product.blocks.collapsible_tab.settings.heading.info”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.heading.label”
},
{
“type”: “richtext”,
“id”: “content”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.content.label”
},
{
“type”: “page”,
“id”: “page”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.page.label”
},
{
“type”: “select”,
“id”: “icon”,
“options”: [
{
“value”: “none”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label”
},
{
“value”: “box”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label”
},
{
“value”: “chat_bubble”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label”
},
{
“value”: “check_mark”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label”
},
{
“value”: “dryer”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label”
},
{
“value”: “eye”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label”
},
{
“value”: “heart”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label”
},
{
“value”: “iron”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label”
},
{
“value”: “leaf”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label”
},
{
“value”: “leather”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label”
},
{
“value”: “lock”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label”
},
{
“value”: “map_pin”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label”
},
{
“value”: “pants”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label”
},
{
“value”: “plane”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label”
},
{
“value”: “price_tag”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label”
},
{
“value”: “question_mark”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label”
},
{
“value”: “return”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label”
},
{
“value”: “ruler”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label”
},
{
“value”: “shirt”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label”
},
{
“value”: “shoe”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label”
},
{
“value”: “silhouette”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label”
},
{
“value”: “star”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label”
},
{
“value”: “truck”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label”
},
{
“value”: “washing”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label”
}
],
“default”: “check_mark”,
“label”: “t:sections.main-product.blocks.collapsible_tab.settings.icon.label”
}
]
},
{
“type”: “popup”,
“name”: “t:sections.main-product.blocks.popup.name”,
“settings”: [
{
“type”: “text”,
“id”: “text”,
“default”: “Pop-up link text”,
“label”: “t:sections.main-product.blocks.popup.settings.link_label.label”
},
{
“id”: “page”,
“type”: “page”,
“label”: “t:sections.main-product.blocks.popup.settings.page.label”
}
]
},
{
“type”: “rating”,
“name”: “t:sections.main-product.blocks.rating.name”,
“limit”: 1,
“settings”: [
{
“type”: “paragraph”,
“content”: “t:sections.main-product.blocks.rating.settings.paragraph.content”
}
]
}
],
“settings”: [
{
“type”: “checkbox”,
“id”: “enable_sticky_info”,
“default”: true,
“label”: “t:sections.main-product.settings.enable_sticky_info.label”
},
{
“type”: “header”,
“content”: “t:sections.main-product.settings.header.content”,
“info”: “t:sections.main-product.settings.header.info”
},
{
“type”: “select”,
“id”: “gallery_layout”,
“options”: [
{
“value”: “stacked”,
“label”: “t:sections.main-product.settings.gallery_layout.options__1.label”
},
{
“value”: “thumbnail”,
“label”: “t:sections.main-product.settings.gallery_layout.options__2.label”
},
{
“value”: “thumbnail_slider”,
“label”: “t:sections.main-product.settings.gallery_layout.options__3.label”
}
],
“default”: “stacked”,
“label”: “t:sections.main-product.settings.gallery_layout.label”
},
{
“type”: “select”,
“id”: “media_size”,
“options”: [
{
“value”: “small”,
“label”: “t:sections.main-product.settings.media_size.options__1.label”
},
{
“value”: “medium”,
“label”: “t:sections.main-product.settings.media_size.options__2.label”
},
{
“value”: “large”,
“label”: “t:sections.main-product.settings.media_size.options__3.label”
}
],
“default”: “large”,
“label”: “t:sections.main-product.settings.media_size.label”,
“info”: “t:sections.main-product.settings.media_size.info”
},
{
“type”: “select”,
“id”: “mobile_thumbnails”,
“options”: [
{
“value”: “show”,
“label”: “t:sections.main-product.settings.mobile_thumbnails.options__1.label”
},
{
“value”: “hide”,
“label”: “t:sections.main-product.settings.mobile_thumbnails.options__2.label”
}
],
“default”: “hide”,
“label”: “t:sections.main-product.settings.mobile_thumbnails.label”
},
{
“type”: “checkbox”,
“id”: “hide_variants”,
“default”: false,
“label”: “t:sections.main-product.settings.hide_variants.label”
},
{
“type”: “checkbox”,
“id”: “enable_video_looping”,
“default”: false,
“label”: “t:sections.main-product.settings.enable_video_looping.label”
}
]
}
{% endschema %}
@Briasena06 My bad. I do not I thought of “main-product.liquid” file but it should be the “main-collection-product-grid.liquid.” Check also in the Snippet folder if you have a file name “card-product.liquid”
Hello!
I got it fixed on Fiverr for like $5. The guy found the error. He said it should of been “product-card” instead of “card-product”. Thank you so much for your help and checking back with me. You are awesome for that ![]()
Hey . Would you be able to help ?! Who can I contact that was helping you
Do you have the same error? If so, open your main-collection-product-grid.liquid under the Section folder. Click CTRL + F, and paste “card-product.liquud” and replace it to “product-card.liquid”
Thx for replying . The only thing I’m finding here is collection.liquid . Don’t think I have the collection product grid ok my Shopify . Is there anyway someone can take a look at my Shopify coding . It’s on my other store